Shader "NOT_Lonely/NOT_Lonely_MaskedPBR" {
	Properties {
		[HideInInspector] __dirty ("", Float) = 1
		_BaseColor ("BaseColor", 2D) = "white" {}
		_ColorMask ("Color Mask", 2D) = "white" {}
		_Color01 ("Color01", Vector) = (1,1,1,0)
		_Color02 ("Color02", Vector) = (1,1,1,0)
		_Color03 ("Color03", Vector) = (1,1,1,0)
		_Color04 ("Color04", Vector) = (1,1,1,0)
		_NormalMap ("Normal Map", 2D) = "white" {}
		_MetallicRAOGGlossA ("Metallic (R) AO (G) Gloss (A)", 2D) = "black" {}
		[HideInInspector] _texcoord ("", 2D) = "white" {}
	}
	SubShader {
		Tags { "QUEUE" = "Geometry+0" "RenderType" = "Opaque" }
		Pass {
			Name "FORWARD"
			Tags { "LIGHTMODE" = "FORWARDBASE" "QUEUE" = "Geometry+0" "RenderType" = "Opaque" "SHADOWSUPPORT" = "true" }
			GpuProgramID 33216
			Program "vp" {
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_6_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_6_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_5_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat15 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat16 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2 = vec4(u_xlat16) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat1 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat3 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat2.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat3 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx + u_xlat4;
					    u_xlat1 = u_xlat0 * u_xlat2.wwzw + u_xlat1;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat3;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat1;
					    u_xlat1.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat1.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat15 = u_xlat2.y * u_xlat2.y;
					    u_xlat15 = u_xlat2.x * u_xlat2.x + (-u_xlat15);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    u_xlat1.xyz = unity_SHC.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat15 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat16 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2 = vec4(u_xlat16) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat1 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat3 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat2.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat3 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx + u_xlat4;
					    u_xlat1 = u_xlat0 * u_xlat2.wwzw + u_xlat1;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat3;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat1;
					    u_xlat1.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat1.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat15 = u_xlat2.y * u_xlat2.y;
					    u_xlat15 = u_xlat2.x * u_xlat2.x + (-u_xlat15);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    u_xlat1.xyz = unity_SHC.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					float u_xlat20;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat20 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat20 = inversesqrt(u_xlat20);
					    u_xlat3 = vec4(u_xlat20) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati12;
					float u_xlat18;
					int u_xlati18;
					float u_xlat20;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati18 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati18 + 1) / 4][(u_xlati18 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati18 / 4][u_xlati18 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati18 + 2) / 4][(u_xlati18 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati18 + 3) / 4][(u_xlati18 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat20 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat20 = inversesqrt(u_xlat20);
					    u_xlat3 = vec4(u_xlat20) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati12].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati12].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_5_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat18;
					float u_xlat20;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat20 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat20 = inversesqrt(u_xlat20);
					    u_xlat3 = vec4(u_xlat20) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati12;
					float u_xlat18;
					int u_xlati18;
					float u_xlat20;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati18 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati18 + 1) / 4][(u_xlati18 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati18 / 4][u_xlati18 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati18 + 2) / 4][(u_xlati18 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati18 + 3) / 4][(u_xlati18 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat20 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat20 = inversesqrt(u_xlat20);
					    u_xlat3 = vec4(u_xlat20) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati12].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati12].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_5_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat3 = vec4(u_xlat13) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_6_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati12;
					float u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati18 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati18 + 1) / 4][(u_xlati18 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati18 / 4][u_xlati18 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati18 + 2) / 4][(u_xlati18 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati18 + 3) / 4][(u_xlati18 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat3 = vec4(u_xlat13) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati12].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati12].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat3 = vec4(u_xlat13) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_6_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati12;
					float u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati18 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati18 + 1) / 4][(u_xlati18 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati18 / 4][u_xlati18 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati18 + 2) / 4][(u_xlati18 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati18 + 3) / 4][(u_xlati18 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat3 = vec4(u_xlat13) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati12].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati12].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat4.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat4.x = inversesqrt(u_xlat4.x);
					    u_xlat3 = u_xlat4.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat4.x = u_xlat3.y * u_xlat3.y;
					    u_xlat4.x = u_xlat3.x * u_xlat3.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat3.ywzx * u_xlat3;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat4.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat4.x = inversesqrt(u_xlat4.x);
					    u_xlat3 = u_xlat4.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat4.x = u_xlat3.y * u_xlat3.y;
					    u_xlat4.x = u_xlat3.x * u_xlat3.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat3.ywzx * u_xlat3;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat4.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat4.x = inversesqrt(u_xlat4.x);
					    u_xlat3 = u_xlat4.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat4.x = u_xlat3.y * u_xlat3.y;
					    u_xlat4.x = u_xlat3.x * u_xlat3.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat3.ywzx * u_xlat3;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat4.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat4.x = inversesqrt(u_xlat4.x);
					    u_xlat3 = u_xlat4.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat4.x = u_xlat3.y * u_xlat3.y;
					    u_xlat4.x = u_xlat3.x * u_xlat3.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat3.ywzx * u_xlat3;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec2 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec2 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec2 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec2 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0 = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0 = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					float u_xlat12;
					float u_xlat19;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati6 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati6] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati6].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati6].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati6 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati6 + 2)].xyz);
					    u_xlat6.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat6.x = inversesqrt(u_xlat6.x);
					    u_xlat3 = u_xlat6.xxxx * u_xlat3.xyzz;
					    u_xlat6.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat6.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat6.xyz);
					    u_xlat19 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat19);
					    vs_TEXCOORD1.y = u_xlat6.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat6.y;
					    vs_TEXCOORD3.y = u_xlat6.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat6.x = u_xlat3.y * u_xlat3.y;
					    u_xlat6.x = u_xlat3.x * u_xlat3.x + (-u_xlat6.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat4.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat2);
					    u_xlat4.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat2);
					    u_xlat4.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat2);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat6.xxx + u_xlat4.xyz;
					    u_xlat2 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat4 = u_xlat3.yyyy * u_xlat2;
					    u_xlat2 = u_xlat2 * u_xlat2;
					    u_xlat5 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat5 * u_xlat3.xxxx + u_xlat4;
					    u_xlat3 = u_xlat1 * u_xlat3.wwzw + u_xlat4;
					    u_xlat2 = u_xlat5 * u_xlat5 + u_xlat2;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat2;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat2 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat2;
					    u_xlat2.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					float u_xlat12;
					int u_xlati12;
					float u_xlat19;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati6 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati6] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati6].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati6].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati6 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati6 + 2)].xyz);
					    u_xlat6.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat6.x = inversesqrt(u_xlat6.x);
					    u_xlat3 = u_xlat6.xxxx * u_xlat3.xyzz;
					    u_xlat6.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat6.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat6.xyz);
					    u_xlat19 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat19);
					    vs_TEXCOORD1.y = u_xlat6.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat6.y;
					    vs_TEXCOORD3.y = u_xlat6.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat6.x = u_xlat3.y * u_xlat3.y;
					    u_xlat6.x = u_xlat3.x * u_xlat3.x + (-u_xlat6.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat4.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat2);
					    u_xlat4.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat2);
					    u_xlat4.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat2);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat6.xxx + u_xlat4.xyz;
					    u_xlat2 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat4 = u_xlat3.yyyy * u_xlat2;
					    u_xlat2 = u_xlat2 * u_xlat2;
					    u_xlat5 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat5 * u_xlat3.xxxx + u_xlat4;
					    u_xlat3 = u_xlat1 * u_xlat3.wwzw + u_xlat4;
					    u_xlat2 = u_xlat5 * u_xlat5 + u_xlat2;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat2;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat2 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat2;
					    u_xlat2.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					int u_xlati14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati14 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati14 + 1) / 4][(u_xlati14 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati14 / 4][u_xlati14 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati14 + 2) / 4][(u_xlati14 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati14 + 3) / 4][(u_xlati14 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati14 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati14].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati14].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					int u_xlati14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati14 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati14 + 1) / 4][(u_xlati14 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati14 / 4][u_xlati14 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati14 + 2) / 4][(u_xlati14 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati14 + 3) / 4][(u_xlati14 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati14 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati14].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati14].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat17;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat17 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat17 = inversesqrt(u_xlat17);
					    u_xlat2.xyz = vec3(u_xlat17) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat0) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0 = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_6_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_8_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_9_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					int u_xlati14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati14 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati14 + 1) / 4][(u_xlati14 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati14 / 4][u_xlati14 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati14 + 2) / 4][(u_xlati14 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati14 + 3) / 4][(u_xlati14 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati14 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati14].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati14].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat0) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0 = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_6_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_8_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_9_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					int u_xlati14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati14 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati14 + 1) / 4][(u_xlati14 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati14 / 4][u_xlati14 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati14 + 2) / 4][(u_xlati14 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati14 + 3) / 4][(u_xlati14 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati14 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati14].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati14].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_6_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_6_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3 = u_xlat0.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat0.x = u_xlat3.y * u_xlat3.y;
					    u_xlat0.x = u_xlat3.x * u_xlat3.x + (-u_xlat0.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    vs_TEXCOORD4.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_5_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat15 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat16 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2 = vec4(u_xlat16) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat1 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat3 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat2.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat3 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx + u_xlat4;
					    u_xlat1 = u_xlat0 * u_xlat2.wwzw + u_xlat1;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat3;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat1;
					    u_xlat1.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat1.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat15 = u_xlat2.y * u_xlat2.y;
					    u_xlat15 = u_xlat2.x * u_xlat2.x + (-u_xlat15);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    u_xlat1.xyz = unity_SHC.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					float u_xlat15;
					int u_xlati15;
					float u_xlat16;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat15 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat15 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat16 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2 = vec4(u_xlat16) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    u_xlat1 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat3 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat2.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat3 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat2.xxxx + u_xlat4;
					    u_xlat1 = u_xlat0 * u_xlat2.wwzw + u_xlat1;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat3;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat1;
					    u_xlat1.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat1.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat15 = u_xlat2.y * u_xlat2.y;
					    u_xlat15 = u_xlat2.x * u_xlat2.x + (-u_xlat15);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    u_xlat1.xyz = unity_SHC.xyz * vec3(u_xlat15) + u_xlat2.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_3_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat3 = vec4(u_xlat13) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati12;
					float u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati18 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati18 + 1) / 4][(u_xlati18 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati18 / 4][u_xlati18 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati18 + 2) / 4][(u_xlati18 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati18 + 3) / 4][(u_xlati18 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat3 = vec4(u_xlat13) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati12].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati12].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_5_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat3 = vec4(u_xlat13) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati12;
					float u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati18 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati18 + 1) / 4][(u_xlati18 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati18 / 4][u_xlati18 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati18 + 2) / 4][(u_xlati18 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati18 + 3) / 4][(u_xlati18 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat3 = vec4(u_xlat13) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati12].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati12].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_5_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat3 = vec4(u_xlat13) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_6_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati12;
					float u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati18 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati18 + 1) / 4][(u_xlati18 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati18 / 4][u_xlati18 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati18 + 2) / 4][(u_xlati18 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati18 + 3) / 4][(u_xlati18 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat3 = vec4(u_xlat13) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati12].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati12].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat13;
					float u_xlat18;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat3 = vec4(u_xlat13) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[34];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_11[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_3_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_6_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					int u_xlati12;
					float u_xlat13;
					float u_xlat18;
					int u_xlati18;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati18 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati18 + 1) / 4][(u_xlati18 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati18 / 4][u_xlati18 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati18 + 2) / 4][(u_xlati18 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati18 + 3) / 4][(u_xlati18 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat18 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat18 = inversesqrt(u_xlat18);
					    u_xlat2.xyz = vec3(u_xlat18) * u_xlat2.xyz;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    u_xlat18 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat3 = vec4(u_xlat13) * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat2 = (-u_xlat0.xxxx) + unity_4LightPosX0;
					    u_xlat4 = (-u_xlat0.yyyy) + unity_4LightPosY0;
					    u_xlat0 = (-u_xlat0.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat3.yyyy * u_xlat4;
					    u_xlat4 = u_xlat4 * u_xlat4;
					    u_xlat4 = u_xlat2 * u_xlat2 + u_xlat4;
					    u_xlat2 = u_xlat2 * u_xlat3.xxxx + u_xlat5;
					    u_xlat2 = u_xlat0 * u_xlat3.wwzw + u_xlat2;
					    u_xlat0 = u_xlat0 * u_xlat0 + u_xlat4;
					    u_xlat0 = max(u_xlat0, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat4 = inversesqrt(u_xlat0);
					    u_xlat0 = u_xlat0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat0 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat0;
					    u_xlat2 = u_xlat2 * u_xlat4;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat0 = u_xlat0 * u_xlat2;
					    u_xlat2.xyz = u_xlat0.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[2].xyz * u_xlat0.zzz + u_xlat2.xyz;
					    u_xlat0.xyz = unity_LightColor[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    u_xlat18 = u_xlat3.y * u_xlat3.y;
					    u_xlat18 = u_xlat3.x * u_xlat3.x + (-u_xlat18);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat3.x = dot(unity_SHBr, u_xlat2);
					    u_xlat3.y = dot(unity_SHBg, u_xlat2);
					    u_xlat3.z = dot(unity_SHBb, u_xlat2);
					    u_xlat2.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat3.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat2.xyz;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati12].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati12].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					int u_xlati10;
					int u_xlati15;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat3.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat4.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat4.x = inversesqrt(u_xlat4.x);
					    u_xlat3 = u_xlat4.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat4.x = u_xlat3.y * u_xlat3.y;
					    u_xlat4.x = u_xlat3.x * u_xlat3.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat3.ywzx * u_xlat3;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat4.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat4.x = inversesqrt(u_xlat4.x);
					    u_xlat3 = u_xlat4.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat4.x = u_xlat3.y * u_xlat3.y;
					    u_xlat4.x = u_xlat3.x * u_xlat3.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat3.ywzx * u_xlat3;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat4.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat4.x = inversesqrt(u_xlat4.x);
					    u_xlat3 = u_xlat4.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat4.x = u_xlat3.y * u_xlat3.y;
					    u_xlat4.x = u_xlat3.x * u_xlat3.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat3.ywzx * u_xlat3;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat4.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat4.x = inversesqrt(u_xlat4.x);
					    u_xlat3 = u_xlat4.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat4.x = u_xlat3.y * u_xlat3.y;
					    u_xlat4.x = u_xlat3.x * u_xlat3.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat3.ywzx * u_xlat3;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec2 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec2 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec2 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec2 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat2.zxy * u_xlat4.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.x;
					    vs_TEXCOORD3.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_TEXCOORD4.xy = u_xlat0.xy;
					    vs_TEXCOORD6.xy = u_xlat0.xy;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat15;
					int u_xlati15;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlat0.xz = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati15 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati15 + 1) / 4][(u_xlati15 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati15 / 4][u_xlati15 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati15 + 2) / 4][(u_xlati15 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati15 + 3) / 4][(u_xlati15 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat15 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat15 = inversesqrt(u_xlat15);
					    u_xlat2.xyz = vec3(u_xlat15) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.xy = u_xlat0.xz;
					    vs_TEXCOORD6.xy = u_xlat0.xz;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat0) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0 = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0 = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0 = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0 = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0 = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat5.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat5.x = inversesqrt(u_xlat5.x);
					    u_xlat4 = u_xlat5.xxxx * u_xlat4.xyzz;
					    u_xlat5.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat5.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat5.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    vs_TEXCOORD1.y = u_xlat5.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat5.y;
					    vs_TEXCOORD3.y = u_xlat5.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat5.x = u_xlat4.y * u_xlat4.y;
					    u_xlat5.x = u_xlat4.x * u_xlat4.x + (-u_xlat5.x);
					    u_xlat1 = u_xlat4.ywzx * u_xlat4;
					    u_xlat3.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat3.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat3.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD4.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat5.xxx + u_xlat3.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0 = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0 = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0 = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = vec2(0.0, 0.0);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0 = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat10;
					int u_xlati10;
					float u_xlat16;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati10 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati10 + 1) / 4][(u_xlati10 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati10 / 4][u_xlati10 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati10 + 2) / 4][(u_xlati10 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati10 + 3) / 4][(u_xlati10 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat10 = inversesqrt(u_xlat10);
					    u_xlat3.xyz = vec3(u_xlat10) * u_xlat3.xyz;
					    u_xlat4.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat4.xyz;
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat4.xyz;
					    u_xlat16 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(u_xlat16);
					    u_xlat4.xyz = u_xlat5.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat3.zxy * u_xlat5.yzx + (-u_xlat4.xyz);
					    u_xlat16 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat16) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat5.z;
					    vs_TEXCOORD1.z = u_xlat3.y;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat5.x;
					    vs_TEXCOORD3.x = u_xlat5.y;
					    vs_TEXCOORD2.z = u_xlat3.z;
					    vs_TEXCOORD3.z = u_xlat3.x;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD4.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD4.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					float u_xlat12;
					float u_xlat19;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati6 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati6] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati6].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati6].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati6 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati6 + 2)].xyz);
					    u_xlat6.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat6.x = inversesqrt(u_xlat6.x);
					    u_xlat3 = u_xlat6.xxxx * u_xlat3.xyzz;
					    u_xlat6.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat6.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat6.xyz);
					    u_xlat19 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat19);
					    vs_TEXCOORD1.y = u_xlat6.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat6.y;
					    vs_TEXCOORD3.y = u_xlat6.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat6.x = u_xlat3.y * u_xlat3.y;
					    u_xlat6.x = u_xlat3.x * u_xlat3.x + (-u_xlat6.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat4.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat2);
					    u_xlat4.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat2);
					    u_xlat4.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat2);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat6.xxx + u_xlat4.xyz;
					    u_xlat2 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat4 = u_xlat3.yyyy * u_xlat2;
					    u_xlat2 = u_xlat2 * u_xlat2;
					    u_xlat5 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat5 * u_xlat3.xxxx + u_xlat4;
					    u_xlat3 = u_xlat1 * u_xlat3.wwzw + u_xlat4;
					    u_xlat2 = u_xlat5 * u_xlat5 + u_xlat2;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat2;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat2 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat2;
					    u_xlat2.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_1_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					int u_xlati6;
					float u_xlat12;
					int u_xlati12;
					float u_xlat19;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati6 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati6] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati6].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati6 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati6].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati6 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati6 + 2)].xyz);
					    u_xlat6.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat6.x = inversesqrt(u_xlat6.x);
					    u_xlat3 = u_xlat6.xxxx * u_xlat3.xyzz;
					    u_xlat6.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat6.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat6.xyz);
					    u_xlat19 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat19);
					    vs_TEXCOORD1.y = u_xlat6.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat6.y;
					    vs_TEXCOORD3.y = u_xlat6.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    u_xlat6.x = u_xlat3.y * u_xlat3.y;
					    u_xlat6.x = u_xlat3.x * u_xlat3.x + (-u_xlat6.x);
					    u_xlat2 = u_xlat3.ywzx * u_xlat3;
					    u_xlat4.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat2);
					    u_xlat4.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat2);
					    u_xlat4.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat2);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat6.xxx + u_xlat4.xyz;
					    u_xlat2 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat4 = u_xlat3.yyyy * u_xlat2;
					    u_xlat2 = u_xlat2 * u_xlat2;
					    u_xlat5 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat4 = u_xlat5 * u_xlat3.xxxx + u_xlat4;
					    u_xlat3 = u_xlat1 * u_xlat3.wwzw + u_xlat4;
					    u_xlat2 = u_xlat5 * u_xlat5 + u_xlat2;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat2;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat2 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat2 = u_xlat2 * u_xlat3;
					    u_xlat2 = max(u_xlat2, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat2;
					    u_xlat2.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat2.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat2.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat0) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0 = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					int u_xlati14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati14 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati14 + 1) / 4][(u_xlati14 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati14 / 4][u_xlati14 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati14 + 2) / 4][(u_xlati14 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati14 + 3) / 4][(u_xlati14 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati14 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati14].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati14].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat0) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0 = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					int u_xlati14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati14 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati14 + 1) / 4][(u_xlati14 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati14 / 4][u_xlati14 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati14 + 2) / 4][(u_xlati14 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati14 + 3) / 4][(u_xlati14 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    vs_TEXCOORD6.zw = u_xlat2.zw;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati14 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati14].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati14].xy + u_xlat1.xy;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat0) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0 = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_6_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_8_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_9_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					int u_xlati14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati14 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati14 + 1) / 4][(u_xlati14 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati14 / 4][u_xlati14 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati14 + 2) / 4][(u_xlati14 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati14 + 3) / 4][(u_xlati14 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati14 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati14].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati14].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat0) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0 = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0 * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat5.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat5.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat5.y;
					    vs_TEXCOORD3.w = u_xlat5.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_4_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec3 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[3];
						vec4 unity_4LightPosX0;
						vec4 unity_4LightPosY0;
						vec4 unity_4LightPosZ0;
						vec4 unity_4LightAtten0;
						vec4 unity_LightColor[8];
						vec4 unused_2_6[40];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_3_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_3_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_4_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_4_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_6_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_8_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_9_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					int u_xlati7;
					float u_xlat14;
					int u_xlati14;
					float u_xlat22;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati7 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati14 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati14 + 1) / 4][(u_xlati14 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati14 / 4][u_xlati14 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati14 + 2) / 4][(u_xlati14 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati14 + 3) / 4][(u_xlati14 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat2.z;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati7].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati7 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat14 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat14 = inversesqrt(u_xlat14);
					    u_xlat3.xyz = vec3(u_xlat14) * u_xlat3.xyz;
					    u_xlat4.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati7].xyz);
					    u_xlat4.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 1)].xyz);
					    u_xlat4.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati7 + 2)].xyz);
					    u_xlat7.x = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat7.x = inversesqrt(u_xlat7.x);
					    u_xlat4 = u_xlat7.xxxx * u_xlat4.xyzz;
					    u_xlat7.xyz = u_xlat3.xyz * u_xlat4.wxy;
					    u_xlat7.xyz = u_xlat4.ywx * u_xlat3.yzx + (-u_xlat7.xyz);
					    u_xlat22 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat22);
					    vs_TEXCOORD1.y = u_xlat7.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat4.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat7.y;
					    vs_TEXCOORD3.y = u_xlat7.z;
					    vs_TEXCOORD2.z = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat4.w;
					    u_xlat7.x = u_xlat4.y * u_xlat4.y;
					    u_xlat7.x = u_xlat4.x * u_xlat4.x + (-u_xlat7.x);
					    u_xlat3 = u_xlat4.ywzx * u_xlat4;
					    u_xlat5.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat3);
					    u_xlat5.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat3);
					    u_xlat5.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat3);
					    u_xlat0.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat7.xxx + u_xlat5.xyz;
					    u_xlat3 = (-u_xlat1.yyyy) + unity_4LightPosY0;
					    u_xlat5 = u_xlat4.yyyy * u_xlat3;
					    u_xlat3 = u_xlat3 * u_xlat3;
					    u_xlat6 = (-u_xlat1.xxxx) + unity_4LightPosX0;
					    u_xlat1 = (-u_xlat1.zzzz) + unity_4LightPosZ0;
					    u_xlat5 = u_xlat6 * u_xlat4.xxxx + u_xlat5;
					    u_xlat4 = u_xlat1 * u_xlat4.wwzw + u_xlat5;
					    u_xlat3 = u_xlat6 * u_xlat6 + u_xlat3;
					    u_xlat1 = u_xlat1 * u_xlat1 + u_xlat3;
					    u_xlat1 = max(u_xlat1, vec4(9.99999997e-07, 9.99999997e-07, 9.99999997e-07, 9.99999997e-07));
					    u_xlat3 = inversesqrt(u_xlat1);
					    u_xlat1 = u_xlat1 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
					    u_xlat1 = vec4(1.0, 1.0, 1.0, 1.0) / u_xlat1;
					    u_xlat3 = u_xlat3 * u_xlat4;
					    u_xlat3 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
					    u_xlat1 = u_xlat1 * u_xlat3;
					    u_xlat3.xyz = u_xlat1.yyy * unity_LightColor[1].xyz;
					    u_xlat3.xyz = unity_LightColor[0].xyz * u_xlat1.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[2].xyz * u_xlat1.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_LightColor[3].xyz * u_xlat1.www + u_xlat1.xyz;
					    vs_TEXCOORD4.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati14 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati14].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati14].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" "VERTEXLIGHT_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_7_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD5;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD6;
					out vec4 vs_TEXCOORD7;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat5;
					int u_xlati5;
					int u_xlati10;
					float u_xlat11;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati5 = u_xlati0 << 3;
					    vs_TEXCOORD7.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD5 = u_xlat1.z;
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati5].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 1)].xyz);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati5 + 2)].xyz);
					    u_xlat11 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat11 = inversesqrt(u_xlat11);
					    u_xlat2.xyz = vec3(u_xlat11) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 1)].yzx;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati5].yzx * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati5 + 2)].yzx * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat5 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat5 = inversesqrt(u_xlat5);
					    u_xlat3.xyz = vec3(u_xlat5) * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat2.zxy * u_xlat3.yzx + (-u_xlat4.xyz);
					    u_xlat5 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = vec3(u_xlat5) * u_xlat4.xyz;
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat3.z;
					    vs_TEXCOORD1.z = u_xlat2.y;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat3.x;
					    vs_TEXCOORD3.x = u_xlat3.y;
					    vs_TEXCOORD2.z = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat2.x;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati10 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati10].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati10].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD7.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb43 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb43){
					        u_xlatb43 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb43)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat43 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat44 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat43, u_xlat44);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat43 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb43 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb43){
					        u_xlatb43 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb43)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat43 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat44 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat43, u_xlat44);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat43 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb46)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat46, u_xlat47);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb46)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat46, u_xlat47);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat33;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb44)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat7.y * 0.25;
					        u_xlat46 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat44 = max(u_xlat44, u_xlat46);
					        u_xlat7.x = min(u_xlat33, u_xlat44);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat9.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat9.xyz);
					        u_xlat7.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat44 = u_xlat3.y * u_xlat3.y;
					    u_xlat44 = u_xlat3.x * u_xlat3.x + (-u_xlat44);
					    u_xlat7.xyz = unity_SHC.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat8.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat33;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb44)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat7.y * 0.25;
					        u_xlat46 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat44 = max(u_xlat44, u_xlat46);
					        u_xlat7.x = min(u_xlat33, u_xlat44);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat9.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat9.xyz);
					        u_xlat7.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat44 = u_xlat3.y * u_xlat3.y;
					    u_xlat44 = u_xlat3.x * u_xlat3.x + (-u_xlat44);
					    u_xlat7.xyz = unity_SHC.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat8.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat44 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat44 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_8[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat30;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlatb40 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb40){
					        u_xlatb40 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb40)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat40 = u_xlat6.y * 0.25;
					        u_xlat42 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat30 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat40 = max(u_xlat40, u_xlat42);
					        u_xlat6.x = min(u_xlat30, u_xlat40);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					        u_xlat8.xyz = u_xlat6.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat6.xyz = u_xlat6.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(u_xlat7, u_xlat2);
					        u_xlat7.y = dot(u_xlat8, u_xlat2);
					        u_xlat7.z = dot(u_xlat6, u_xlat2);
					    } else {
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(unity_SHAr, u_xlat2);
					        u_xlat7.y = dot(unity_SHAg, u_xlat2);
					        u_xlat7.z = dot(unity_SHAb, u_xlat2);
					    }
					    u_xlat6 = u_xlat2.yzzx * u_xlat2.xyzz;
					    u_xlat8.x = dot(unity_SHBr, u_xlat6);
					    u_xlat8.y = dot(unity_SHBg, u_xlat6);
					    u_xlat8.z = dot(unity_SHBb, u_xlat6);
					    u_xlat40 = u_xlat2.y * u_xlat2.y;
					    u_xlat40 = u_xlat2.x * u_xlat2.x + (-u_xlat40);
					    u_xlat6.xyz = unity_SHC.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat7.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat30;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlatb40 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb40){
					        u_xlatb40 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb40)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat40 = u_xlat6.y * 0.25;
					        u_xlat42 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat30 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat40 = max(u_xlat40, u_xlat42);
					        u_xlat6.x = min(u_xlat30, u_xlat40);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					        u_xlat8.xyz = u_xlat6.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat6.xyz = u_xlat6.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(u_xlat7, u_xlat2);
					        u_xlat7.y = dot(u_xlat8, u_xlat2);
					        u_xlat7.z = dot(u_xlat6, u_xlat2);
					    } else {
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(unity_SHAr, u_xlat2);
					        u_xlat7.y = dot(unity_SHAg, u_xlat2);
					        u_xlat7.z = dot(unity_SHAb, u_xlat2);
					    }
					    u_xlat6 = u_xlat2.yzzx * u_xlat2.xyzz;
					    u_xlat8.x = dot(unity_SHBr, u_xlat6);
					    u_xlat8.y = dot(unity_SHBg, u_xlat6);
					    u_xlat8.z = dot(unity_SHBb, u_xlat6);
					    u_xlat40 = u_xlat2.y * u_xlat2.y;
					    u_xlat40 = u_xlat2.x * u_xlat2.x + (-u_xlat40);
					    u_xlat6.xyz = unity_SHC.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat7.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat43 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = sqrt(u_xlat44);
					    u_xlat44 = (-u_xlat43) + u_xlat44;
					    u_xlat43 = unity_ShadowFadeCenterAndType.w * u_xlat44 + u_xlat43;
					    u_xlat43 = u_xlat43 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb44)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat45 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat44, u_xlat45);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat44 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat44 = clamp(u_xlat44, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat44 = u_xlat44 + (-u_xlat6.x);
					    u_xlat43 = u_xlat43 * u_xlat44 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					int u_xlati43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati43 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati43 / 4][u_xlati43 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati43 + 1) / 4][(u_xlati43 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati43 + 2) / 4][(u_xlati43 + 2) % 4].z;
					    u_xlat43 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = sqrt(u_xlat44);
					    u_xlat44 = (-u_xlat43) + u_xlat44;
					    u_xlat43 = unity_ShadowFadeCenterAndType.w * u_xlat44 + u_xlat43;
					    u_xlat43 = u_xlat43 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb44)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat45 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat44, u_xlat45);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat44 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat44 = clamp(u_xlat44, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat44 = u_xlat44 + (-u_xlat6.x);
					    u_xlat43 = u_xlat43 * u_xlat44 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat48 = u_xlat48 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat48 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat48 = u_xlat48 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat48 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat46 = u_xlat46 + u_xlat6.x;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat46 = min(u_xlat48, u_xlat46);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat46 = u_xlat46 + u_xlat6.x;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat46 = min(u_xlat48, u_xlat46);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat48 = u_xlat48 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat48 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat48 = u_xlat48 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat48 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat46 = u_xlat46 + u_xlat6.x;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat46 = min(u_xlat48, u_xlat46);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat46 = u_xlat46 + u_xlat6.x;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat46 = min(u_xlat48, u_xlat46);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat47 = u_xlat47 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat47 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat47 = u_xlat47 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat47 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat47) + u_xlat49;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat49 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat49 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat47) + u_xlat49;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat49 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat49 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					int u_xlati40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlati40 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati40 / 4][u_xlati40 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati40 + 1) / 4][(u_xlati40 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati40 + 2) / 4][(u_xlati40 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec3 u_xlat19;
					float u_xlat27;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb14 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb14){
					        u_xlatb14 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat14.xyz = (bool(u_xlatb14)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat14.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat7.y * 0.25;
					        u_xlat27 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat40 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat14.x = max(u_xlat27, u_xlat14.x);
					        u_xlat7.x = min(u_xlat40, u_xlat14.x);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat14.x = u_xlat3.y * u_xlat3.y;
					    u_xlat14.x = u_xlat3.x * u_xlat3.x + (-u_xlat14.x);
					    u_xlat14.xyz = unity_SHC.xyz * u_xlat14.xxx + u_xlat9.xyz;
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat8.xyz;
					    u_xlat14.xyz = max(u_xlat14.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat41 = log2(u_xlat7.w);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat41) * u_xlat7.xyz;
					    u_xlat41 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat41);
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat7.xyz;
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec3 u_xlat19;
					float u_xlat27;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					int u_xlati40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlati40 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati40 / 4][u_xlati40 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati40 + 1) / 4][(u_xlati40 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati40 + 2) / 4][(u_xlati40 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb14 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb14){
					        u_xlatb14 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat14.xyz = (bool(u_xlatb14)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat14.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat7.y * 0.25;
					        u_xlat27 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat40 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat14.x = max(u_xlat27, u_xlat14.x);
					        u_xlat7.x = min(u_xlat40, u_xlat14.x);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat14.x = u_xlat3.y * u_xlat3.y;
					    u_xlat14.x = u_xlat3.x * u_xlat3.x + (-u_xlat14.x);
					    u_xlat14.xyz = unity_SHC.xyz * u_xlat14.xxx + u_xlat9.xyz;
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat8.xyz;
					    u_xlat14.xyz = max(u_xlat14.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat41 = log2(u_xlat7.w);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat41) * u_xlat7.xyz;
					    u_xlat41 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat41);
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat7.xyz;
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					int u_xlati40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlati40 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati40 / 4][u_xlati40 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati40 + 1) / 4][(u_xlati40 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati40 + 2) / 4][(u_xlati40 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat49 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					int u_xlati49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati49 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati49 / 4][u_xlati49 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati49 + 1) / 4][(u_xlati49 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati49 + 2) / 4][(u_xlati49 + 2) % 4].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat49 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat49 = u_xlat49 + u_xlat6.x;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat49);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					int u_xlati49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati49 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati49 / 4][u_xlati49 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati49 + 1) / 4][(u_xlati49 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati49 + 2) / 4][(u_xlati49 + 2) % 4].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat49 = u_xlat49 + u_xlat6.x;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat49);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb43 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb43){
					        u_xlatb43 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb43)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat43 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat44 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat43, u_xlat44);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat43 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat43 = u_xlat43 + u_xlat5.w;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb43 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb43){
					        u_xlatb43 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb43)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat43 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat44 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat43, u_xlat44);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat43 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					float u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					vec3 u_xlat15;
					float u_xlat17;
					vec3 u_xlat18;
					float u_xlat30;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat1.x = vs_TEXCOORD1.w;
					    u_xlat1.y = vs_TEXCOORD2.w;
					    u_xlat1.z = vs_TEXCOORD3.w;
					    u_xlat15.xyz = (-u_xlat1.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat2.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat47 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat47 = min(u_xlat47, 1.0);
					    u_xlat47 = (-u_xlat47) + 1.0;
					    u_xlat3.z = sqrt(u_xlat47);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati0 = u_xlati0 * 7;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat1.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.wwww;
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat3.x = (-u_xlat5.w) + 1.0;
					    u_xlat18.x = dot((-u_xlat2.xyz), u_xlat6.xyz);
					    u_xlat18.x = u_xlat18.x + u_xlat18.x;
					    u_xlat7.xyz = u_xlat6.xyz * (-u_xlat18.xxx) + (-u_xlat2.xyz);
					    u_xlat18.xyz = vec3(u_xlat48) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat1.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat6.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat6);
					        u_xlat9.y = dot(u_xlat10, u_xlat6);
					        u_xlat9.z = dot(u_xlat8, u_xlat6);
					    } else {
					        u_xlat6.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat6);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat6);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat6);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb0 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb0){
					        u_xlat0 = dot(u_xlat7.xyz, u_xlat7.xyz);
					        u_xlat0 = inversesqrt(u_xlat0);
					        u_xlat9.xyz = vec3(u_xlat0) * u_xlat7.xyz;
					        u_xlat10.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat0 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat0 = min(u_xlat10.z, u_xlat0);
					        u_xlat10.xyz = u_xlat1.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat0) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat7.xyz;
					    }
					    u_xlat0 = (-u_xlat3.x) * 0.699999988 + 1.70000005;
					    u_xlat0 = u_xlat0 * u_xlat3.x;
					    u_xlat0 = u_xlat0 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat0);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat7.xyz;
					            u_xlat12.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat1.xyz = u_xlat1.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat7.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat1.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat7.xyz, u_xlat0);
					        u_xlat0 = u_xlat7.w + -1.0;
					        u_xlat0 = unity_SpecCube1_HDR.w * u_xlat0 + 1.0;
					        u_xlat0 = log2(u_xlat0);
					        u_xlat0 = u_xlat0 * unity_SpecCube1_HDR.y;
					        u_xlat0 = exp2(u_xlat0);
					        u_xlat0 = u_xlat0 * unity_SpecCube1_HDR.x;
					        u_xlat1.xyz = u_xlat7.xyz * vec3(u_xlat0);
					        u_xlat7.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat1.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat7.xyz + u_xlat1.xyz;
					    }
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat0 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat0) * u_xlat4.xyz;
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46) + _WorldSpaceLightPos0.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = max(u_xlat46, 0.00100000005);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat6.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat6.xyz, u_xlat15.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat15.x = dot(_WorldSpaceLightPos0.xyz, u_xlat15.xyz);
					    u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = dot(vec2(u_xlat30), u_xlat3.xx);
					    u_xlat30 = u_xlat30 + -0.5;
					    u_xlat45 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat45 * u_xlat45;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat45 = u_xlat45 * u_xlat32;
					    u_xlat45 = u_xlat30 * u_xlat45 + 1.0;
					    u_xlat32 = -abs(u_xlat46) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat30 = u_xlat30 * u_xlat32 + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat45;
					    u_xlat30 = u_xlat2.x * u_xlat30;
					    u_xlat45 = u_xlat3.x * u_xlat3.x;
					    u_xlat45 = max(u_xlat45, 0.00200000009);
					    u_xlat47 = (-u_xlat45) + 1.0;
					    u_xlat3.x = abs(u_xlat46) * u_xlat47 + u_xlat45;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat45;
					    u_xlat46 = abs(u_xlat46) * u_xlat47;
					    u_xlat46 = u_xlat2.x * u_xlat3.x + u_xlat46;
					    u_xlat46 = u_xlat46 + 9.99999975e-06;
					    u_xlat46 = 0.5 / u_xlat46;
					    u_xlat47 = u_xlat45 * u_xlat45;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat46 = u_xlat46 * u_xlat17;
					    u_xlat46 = u_xlat46 * 3.14159274;
					    u_xlat46 = u_xlat2.x * u_xlat46;
					    u_xlat46 = max(u_xlat46, 0.0);
					    u_xlat45 = u_xlat45 * u_xlat45 + 1.0;
					    u_xlat45 = float(1.0) / u_xlat45;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat46 = u_xlat46 * u_xlat2.x;
					    u_xlat0 = (-u_xlat0) + u_xlat5.w;
					    u_xlat0 = u_xlat0 + 1.0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat30) * u_xlat18.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat18.xyz * vec3(u_xlat46);
					    u_xlat15.x = (-u_xlat15.x) + 1.0;
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat15.x = u_xlat15.x * u_xlat30;
					    u_xlat5.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat15.xxx + u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat15.xyz = u_xlat1.xyz * vec3(u_xlat45);
					    u_xlat1.xyz = (-u_xlat7.xyz) + vec3(u_xlat0);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat7.xyz;
					    SV_Target0.xyz = u_xlat15.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					float u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					vec3 u_xlat15;
					int u_xlati15;
					float u_xlat17;
					vec3 u_xlat18;
					float u_xlat30;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat1.x = vs_TEXCOORD1.w;
					    u_xlat1.y = vs_TEXCOORD2.w;
					    u_xlat1.z = vs_TEXCOORD3.w;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat15.xyz = (-u_xlat1.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat2.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat47 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat47 = min(u_xlat47, 1.0);
					    u_xlat47 = (-u_xlat47) + 1.0;
					    u_xlat3.z = sqrt(u_xlat47);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati0 = u_xlati0 * 7;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat1.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.wwww;
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat3.x = (-u_xlat5.w) + 1.0;
					    u_xlat18.x = dot((-u_xlat2.xyz), u_xlat6.xyz);
					    u_xlat18.x = u_xlat18.x + u_xlat18.x;
					    u_xlat7.xyz = u_xlat6.xyz * (-u_xlat18.xxx) + (-u_xlat2.xyz);
					    u_xlat18.xyz = vec3(u_xlat48) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat1.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat6.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat6);
					        u_xlat9.y = dot(u_xlat10, u_xlat6);
					        u_xlat9.z = dot(u_xlat8, u_xlat6);
					    } else {
					        u_xlat6.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat6);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat6);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat6);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb0 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb0){
					        u_xlat0 = dot(u_xlat7.xyz, u_xlat7.xyz);
					        u_xlat0 = inversesqrt(u_xlat0);
					        u_xlat9.xyz = vec3(u_xlat0) * u_xlat7.xyz;
					        u_xlat10.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat0 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat0 = min(u_xlat10.z, u_xlat0);
					        u_xlat10.xyz = u_xlat1.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat0) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat7.xyz;
					    }
					    u_xlat0 = (-u_xlat3.x) * 0.699999988 + 1.70000005;
					    u_xlat0 = u_xlat0 * u_xlat3.x;
					    u_xlat0 = u_xlat0 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat0);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat7.xyz;
					            u_xlat12.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat1.xyz = u_xlat1.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat7.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat1.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat7.xyz, u_xlat0);
					        u_xlat0 = u_xlat7.w + -1.0;
					        u_xlat0 = unity_SpecCube1_HDR.w * u_xlat0 + 1.0;
					        u_xlat0 = log2(u_xlat0);
					        u_xlat0 = u_xlat0 * unity_SpecCube1_HDR.y;
					        u_xlat0 = exp2(u_xlat0);
					        u_xlat0 = u_xlat0 * unity_SpecCube1_HDR.x;
					        u_xlat1.xyz = u_xlat7.xyz * vec3(u_xlat0);
					        u_xlat7.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat1.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat7.xyz + u_xlat1.xyz;
					    }
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat0 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat0) * u_xlat4.xyz;
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46) + _WorldSpaceLightPos0.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = max(u_xlat46, 0.00100000005);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat6.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat6.xyz, u_xlat15.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat15.x = dot(_WorldSpaceLightPos0.xyz, u_xlat15.xyz);
					    u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = dot(vec2(u_xlat30), u_xlat3.xx);
					    u_xlat30 = u_xlat30 + -0.5;
					    u_xlat45 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat45 * u_xlat45;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat45 = u_xlat45 * u_xlat32;
					    u_xlat45 = u_xlat30 * u_xlat45 + 1.0;
					    u_xlat32 = -abs(u_xlat46) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat30 = u_xlat30 * u_xlat32 + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat45;
					    u_xlat30 = u_xlat2.x * u_xlat30;
					    u_xlat45 = u_xlat3.x * u_xlat3.x;
					    u_xlat45 = max(u_xlat45, 0.00200000009);
					    u_xlat47 = (-u_xlat45) + 1.0;
					    u_xlat3.x = abs(u_xlat46) * u_xlat47 + u_xlat45;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat45;
					    u_xlat46 = abs(u_xlat46) * u_xlat47;
					    u_xlat46 = u_xlat2.x * u_xlat3.x + u_xlat46;
					    u_xlat46 = u_xlat46 + 9.99999975e-06;
					    u_xlat46 = 0.5 / u_xlat46;
					    u_xlat47 = u_xlat45 * u_xlat45;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat46 = u_xlat46 * u_xlat17;
					    u_xlat46 = u_xlat46 * 3.14159274;
					    u_xlat46 = u_xlat2.x * u_xlat46;
					    u_xlat46 = max(u_xlat46, 0.0);
					    u_xlat45 = u_xlat45 * u_xlat45 + 1.0;
					    u_xlat45 = float(1.0) / u_xlat45;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat46 = u_xlat46 * u_xlat2.x;
					    u_xlat0 = (-u_xlat0) + u_xlat5.w;
					    u_xlat0 = u_xlat0 + 1.0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat30) * u_xlat18.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat18.xyz * vec3(u_xlat46);
					    u_xlat15.x = (-u_xlat15.x) + 1.0;
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat15.x = u_xlat15.x * u_xlat30;
					    u_xlat5.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat15.xxx + u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat15.xyz = u_xlat1.xyz * vec3(u_xlat45);
					    u_xlat1.xyz = (-u_xlat7.xyz) + vec3(u_xlat0);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat7.xyz;
					    SV_Target0.xyz = u_xlat15.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlati46 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati46 = u_xlati46 * 7;
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat3);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat3);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlati46 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati46 = u_xlati46 * 7;
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat3);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat3);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb46)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat46, u_xlat47);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb46)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat46, u_xlat47);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat33;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb44)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat7.y * 0.25;
					        u_xlat46 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat44 = max(u_xlat44, u_xlat46);
					        u_xlat7.x = min(u_xlat33, u_xlat44);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat9.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat9.xyz);
					        u_xlat7.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat44 = u_xlat3.y * u_xlat3.y;
					    u_xlat44 = u_xlat3.x * u_xlat3.x + (-u_xlat44);
					    u_xlat7.xyz = unity_SHC.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat8.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat33;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb44)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat7.y * 0.25;
					        u_xlat46 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat44 = max(u_xlat44, u_xlat46);
					        u_xlat7.x = min(u_xlat33, u_xlat44);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat9.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat9.xyz);
					        u_xlat7.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat44 = u_xlat3.y * u_xlat3.y;
					    u_xlat44 = u_xlat3.x * u_xlat3.x + (-u_xlat44);
					    u_xlat7.xyz = unity_SHC.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat8.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat44 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat44 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_8[2];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat30;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlatb40 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb40){
					        u_xlatb40 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb40)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat40 = u_xlat6.y * 0.25;
					        u_xlat42 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat30 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat40 = max(u_xlat40, u_xlat42);
					        u_xlat6.x = min(u_xlat30, u_xlat40);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					        u_xlat8.xyz = u_xlat6.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat6.xyz = u_xlat6.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(u_xlat7, u_xlat2);
					        u_xlat7.y = dot(u_xlat8, u_xlat2);
					        u_xlat7.z = dot(u_xlat6, u_xlat2);
					    } else {
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(unity_SHAr, u_xlat2);
					        u_xlat7.y = dot(unity_SHAg, u_xlat2);
					        u_xlat7.z = dot(unity_SHAb, u_xlat2);
					    }
					    u_xlat6 = u_xlat2.yzzx * u_xlat2.xyzz;
					    u_xlat8.x = dot(unity_SHBr, u_xlat6);
					    u_xlat8.y = dot(unity_SHBg, u_xlat6);
					    u_xlat8.z = dot(unity_SHBb, u_xlat6);
					    u_xlat40 = u_xlat2.y * u_xlat2.y;
					    u_xlat40 = u_xlat2.x * u_xlat2.x + (-u_xlat40);
					    u_xlat6.xyz = unity_SHC.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat7.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat30;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlatb40 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb40){
					        u_xlatb40 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb40)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat40 = u_xlat6.y * 0.25;
					        u_xlat42 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat30 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat40 = max(u_xlat40, u_xlat42);
					        u_xlat6.x = min(u_xlat30, u_xlat40);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					        u_xlat8.xyz = u_xlat6.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat6.xyz = u_xlat6.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(u_xlat7, u_xlat2);
					        u_xlat7.y = dot(u_xlat8, u_xlat2);
					        u_xlat7.z = dot(u_xlat6, u_xlat2);
					    } else {
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(unity_SHAr, u_xlat2);
					        u_xlat7.y = dot(unity_SHAg, u_xlat2);
					        u_xlat7.z = dot(unity_SHAb, u_xlat2);
					    }
					    u_xlat6 = u_xlat2.yzzx * u_xlat2.xyzz;
					    u_xlat8.x = dot(unity_SHBr, u_xlat6);
					    u_xlat8.y = dot(unity_SHBg, u_xlat6);
					    u_xlat8.z = dot(unity_SHBb, u_xlat6);
					    u_xlat40 = u_xlat2.y * u_xlat2.y;
					    u_xlat40 = u_xlat2.x * u_xlat2.x + (-u_xlat40);
					    u_xlat6.xyz = unity_SHC.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat7.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat43 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = sqrt(u_xlat44);
					    u_xlat44 = (-u_xlat43) + u_xlat44;
					    u_xlat43 = unity_ShadowFadeCenterAndType.w * u_xlat44 + u_xlat43;
					    u_xlat43 = u_xlat43 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb44)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat45 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat44, u_xlat45);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat44 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat44 = clamp(u_xlat44, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat44 = u_xlat44 + (-u_xlat6.x);
					    u_xlat43 = u_xlat43 * u_xlat44 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					int u_xlati43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati43 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati43 / 4][u_xlati43 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati43 + 1) / 4][(u_xlati43 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati43 + 2) / 4][(u_xlati43 + 2) % 4].z;
					    u_xlat43 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = sqrt(u_xlat44);
					    u_xlat44 = (-u_xlat43) + u_xlat44;
					    u_xlat43 = unity_ShadowFadeCenterAndType.w * u_xlat44 + u_xlat43;
					    u_xlat43 = u_xlat43 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb44)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat45 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat44, u_xlat45);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat44 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat44 = clamp(u_xlat44, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat44 = u_xlat44 + (-u_xlat6.x);
					    u_xlat43 = u_xlat43 * u_xlat44 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					float u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					vec3 u_xlat15;
					float u_xlat17;
					vec3 u_xlat18;
					float u_xlat30;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat1.x = vs_TEXCOORD1.w;
					    u_xlat1.y = vs_TEXCOORD2.w;
					    u_xlat1.z = vs_TEXCOORD3.w;
					    u_xlat15.xyz = (-u_xlat1.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat2.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat47 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat47 = min(u_xlat47, 1.0);
					    u_xlat47 = (-u_xlat47) + 1.0;
					    u_xlat3.z = sqrt(u_xlat47);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat15.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat1.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati0 = u_xlati0 * 7;
					    u_xlatb48 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb48){
					        u_xlatb49 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb49)) ? u_xlat6.xyz : u_xlat1.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat49 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat35 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat49, u_xlat35);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.wwww;
					    }
					    u_xlat49 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat49 = u_xlat49 + (-u_xlat6.x);
					    u_xlat47 = u_xlat47 * u_xlat49 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat3.x = (-u_xlat5.w) + 1.0;
					    u_xlat18.x = dot((-u_xlat2.xyz), u_xlat6.xyz);
					    u_xlat18.x = u_xlat18.x + u_xlat18.x;
					    u_xlat7.xyz = u_xlat6.xyz * (-u_xlat18.xxx) + (-u_xlat2.xyz);
					    u_xlat8.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb48){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat18.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat18.xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat18.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat18.xyz = (bool(u_xlatb47)) ? u_xlat18.xyz : u_xlat1.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat9.yzw = u_xlat18.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat9.y * 0.25;
					        u_xlat18.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat18.x);
					        u_xlat9.x = min(u_xlat33, u_xlat47);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat9.xzw);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat11 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(u_xlat10, u_xlat6);
					        u_xlat10.y = dot(u_xlat11, u_xlat6);
					        u_xlat10.z = dot(u_xlat9, u_xlat6);
					    } else {
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat6);
					        u_xlat10.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat6);
					        u_xlat10.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat6);
					    }
					    u_xlat18.xyz = u_xlat10.xyz + vs_TEXCOORD4.xyz;
					    u_xlat18.xyz = max(u_xlat18.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb0 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb0){
					        u_xlat0 = dot(u_xlat7.xyz, u_xlat7.xyz);
					        u_xlat0 = inversesqrt(u_xlat0);
					        u_xlat9.xyz = vec3(u_xlat0) * u_xlat7.xyz;
					        u_xlat10.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat0 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat0 = min(u_xlat10.z, u_xlat0);
					        u_xlat10.xyz = u_xlat1.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat0) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat7.xyz;
					    }
					    u_xlat0 = (-u_xlat3.x) * 0.699999988 + 1.70000005;
					    u_xlat0 = u_xlat0 * u_xlat3.x;
					    u_xlat0 = u_xlat0 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat0);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat7.xyz;
					            u_xlat12.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat1.xyz = u_xlat1.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat7.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat1.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat7.xyz, u_xlat0);
					        u_xlat0 = u_xlat7.w + -1.0;
					        u_xlat0 = unity_SpecCube1_HDR.w * u_xlat0 + 1.0;
					        u_xlat0 = log2(u_xlat0);
					        u_xlat0 = u_xlat0 * unity_SpecCube1_HDR.y;
					        u_xlat0 = exp2(u_xlat0);
					        u_xlat0 = u_xlat0 * unity_SpecCube1_HDR.x;
					        u_xlat1.xyz = u_xlat7.xyz * vec3(u_xlat0);
					        u_xlat7.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat1.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat7.xyz + u_xlat1.xyz;
					    }
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat0 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat0) * u_xlat4.xyz;
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46) + _WorldSpaceLightPos0.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = max(u_xlat46, 0.00100000005);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat6.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat6.xyz, u_xlat15.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat15.x = dot(_WorldSpaceLightPos0.xyz, u_xlat15.xyz);
					    u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = dot(vec2(u_xlat30), u_xlat3.xx);
					    u_xlat30 = u_xlat30 + -0.5;
					    u_xlat45 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat45 * u_xlat45;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat45 = u_xlat45 * u_xlat32;
					    u_xlat45 = u_xlat30 * u_xlat45 + 1.0;
					    u_xlat32 = -abs(u_xlat46) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat30 = u_xlat30 * u_xlat32 + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat45;
					    u_xlat30 = u_xlat2.x * u_xlat30;
					    u_xlat45 = u_xlat3.x * u_xlat3.x;
					    u_xlat45 = max(u_xlat45, 0.00200000009);
					    u_xlat47 = (-u_xlat45) + 1.0;
					    u_xlat3.x = abs(u_xlat46) * u_xlat47 + u_xlat45;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat45;
					    u_xlat46 = abs(u_xlat46) * u_xlat47;
					    u_xlat46 = u_xlat2.x * u_xlat3.x + u_xlat46;
					    u_xlat46 = u_xlat46 + 9.99999975e-06;
					    u_xlat46 = 0.5 / u_xlat46;
					    u_xlat47 = u_xlat45 * u_xlat45;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat46 = u_xlat46 * u_xlat17;
					    u_xlat46 = u_xlat46 * 3.14159274;
					    u_xlat46 = u_xlat2.x * u_xlat46;
					    u_xlat46 = max(u_xlat46, 0.0);
					    u_xlat45 = u_xlat45 * u_xlat45 + 1.0;
					    u_xlat45 = float(1.0) / u_xlat45;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat46 = u_xlat46 * u_xlat2.x;
					    u_xlat0 = (-u_xlat0) + u_xlat5.w;
					    u_xlat0 = u_xlat0 + 1.0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat30) * u_xlat8.xyz;
					    u_xlat2.xyw = u_xlat18.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat15.x = (-u_xlat15.x) + 1.0;
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat15.x = u_xlat15.x * u_xlat30;
					    u_xlat5.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat15.xxx + u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat15.xyz = u_xlat1.xyz * vec3(u_xlat45);
					    u_xlat1.xyz = (-u_xlat7.xyz) + vec3(u_xlat0);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat7.xyz;
					    SV_Target0.xyz = u_xlat15.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					float u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					vec3 u_xlat15;
					int u_xlati15;
					float u_xlat17;
					vec3 u_xlat18;
					float u_xlat30;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat1.x = vs_TEXCOORD1.w;
					    u_xlat1.y = vs_TEXCOORD2.w;
					    u_xlat1.z = vs_TEXCOORD3.w;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat15.xyz = (-u_xlat1.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat2.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat47 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat47 = min(u_xlat47, 1.0);
					    u_xlat47 = (-u_xlat47) + 1.0;
					    u_xlat3.z = sqrt(u_xlat47);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat15.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat1.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati0 = u_xlati0 * 7;
					    u_xlatb48 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb48){
					        u_xlatb49 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb49)) ? u_xlat6.xyz : u_xlat1.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat49 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat35 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat49, u_xlat35);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.wwww;
					    }
					    u_xlat49 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat49 = u_xlat49 + (-u_xlat6.x);
					    u_xlat47 = u_xlat47 * u_xlat49 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat3.x = (-u_xlat5.w) + 1.0;
					    u_xlat18.x = dot((-u_xlat2.xyz), u_xlat6.xyz);
					    u_xlat18.x = u_xlat18.x + u_xlat18.x;
					    u_xlat7.xyz = u_xlat6.xyz * (-u_xlat18.xxx) + (-u_xlat2.xyz);
					    u_xlat8.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb48){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat18.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat18.xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat18.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat18.xyz = (bool(u_xlatb47)) ? u_xlat18.xyz : u_xlat1.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat9.yzw = u_xlat18.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat9.y * 0.25;
					        u_xlat18.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat18.x);
					        u_xlat9.x = min(u_xlat33, u_xlat47);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat9.xzw);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat11 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(u_xlat10, u_xlat6);
					        u_xlat10.y = dot(u_xlat11, u_xlat6);
					        u_xlat10.z = dot(u_xlat9, u_xlat6);
					    } else {
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat6);
					        u_xlat10.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat6);
					        u_xlat10.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat6);
					    }
					    u_xlat18.xyz = u_xlat10.xyz + vs_TEXCOORD4.xyz;
					    u_xlat18.xyz = max(u_xlat18.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb0 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb0){
					        u_xlat0 = dot(u_xlat7.xyz, u_xlat7.xyz);
					        u_xlat0 = inversesqrt(u_xlat0);
					        u_xlat9.xyz = vec3(u_xlat0) * u_xlat7.xyz;
					        u_xlat10.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat0 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat0 = min(u_xlat10.z, u_xlat0);
					        u_xlat10.xyz = u_xlat1.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat0) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat7.xyz;
					    }
					    u_xlat0 = (-u_xlat3.x) * 0.699999988 + 1.70000005;
					    u_xlat0 = u_xlat0 * u_xlat3.x;
					    u_xlat0 = u_xlat0 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat0);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat7.xyz;
					            u_xlat12.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat1.xyz = u_xlat1.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat7.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat1.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat7.xyz, u_xlat0);
					        u_xlat0 = u_xlat7.w + -1.0;
					        u_xlat0 = unity_SpecCube1_HDR.w * u_xlat0 + 1.0;
					        u_xlat0 = log2(u_xlat0);
					        u_xlat0 = u_xlat0 * unity_SpecCube1_HDR.y;
					        u_xlat0 = exp2(u_xlat0);
					        u_xlat0 = u_xlat0 * unity_SpecCube1_HDR.x;
					        u_xlat1.xyz = u_xlat7.xyz * vec3(u_xlat0);
					        u_xlat7.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat1.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat7.xyz + u_xlat1.xyz;
					    }
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat0 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat0) * u_xlat4.xyz;
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46) + _WorldSpaceLightPos0.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = max(u_xlat46, 0.00100000005);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat6.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat6.xyz, u_xlat15.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat15.x = dot(_WorldSpaceLightPos0.xyz, u_xlat15.xyz);
					    u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = dot(vec2(u_xlat30), u_xlat3.xx);
					    u_xlat30 = u_xlat30 + -0.5;
					    u_xlat45 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat45 * u_xlat45;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat45 = u_xlat45 * u_xlat32;
					    u_xlat45 = u_xlat30 * u_xlat45 + 1.0;
					    u_xlat32 = -abs(u_xlat46) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat30 = u_xlat30 * u_xlat32 + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat45;
					    u_xlat30 = u_xlat2.x * u_xlat30;
					    u_xlat45 = u_xlat3.x * u_xlat3.x;
					    u_xlat45 = max(u_xlat45, 0.00200000009);
					    u_xlat47 = (-u_xlat45) + 1.0;
					    u_xlat3.x = abs(u_xlat46) * u_xlat47 + u_xlat45;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat45;
					    u_xlat46 = abs(u_xlat46) * u_xlat47;
					    u_xlat46 = u_xlat2.x * u_xlat3.x + u_xlat46;
					    u_xlat46 = u_xlat46 + 9.99999975e-06;
					    u_xlat46 = 0.5 / u_xlat46;
					    u_xlat47 = u_xlat45 * u_xlat45;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat46 = u_xlat46 * u_xlat17;
					    u_xlat46 = u_xlat46 * 3.14159274;
					    u_xlat46 = u_xlat2.x * u_xlat46;
					    u_xlat46 = max(u_xlat46, 0.0);
					    u_xlat45 = u_xlat45 * u_xlat45 + 1.0;
					    u_xlat45 = float(1.0) / u_xlat45;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat46 = u_xlat46 * u_xlat2.x;
					    u_xlat0 = (-u_xlat0) + u_xlat5.w;
					    u_xlat0 = u_xlat0 + 1.0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat30) * u_xlat8.xyz;
					    u_xlat2.xyw = u_xlat18.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat15.x = (-u_xlat15.x) + 1.0;
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat15.x = u_xlat15.x * u_xlat30;
					    u_xlat5.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat15.xxx + u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat15.xyz = u_xlat1.xyz * vec3(u_xlat45);
					    u_xlat1.xyz = (-u_xlat7.xyz) + vec3(u_xlat0);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat7.xyz;
					    SV_Target0.xyz = u_xlat15.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					float u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					vec3 u_xlat15;
					float u_xlat17;
					vec3 u_xlat18;
					float u_xlat30;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat1.x = vs_TEXCOORD1.w;
					    u_xlat1.y = vs_TEXCOORD2.w;
					    u_xlat1.z = vs_TEXCOORD3.w;
					    u_xlat15.xyz = (-u_xlat1.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat2.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat47 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat47 = min(u_xlat47, 1.0);
					    u_xlat47 = (-u_xlat47) + 1.0;
					    u_xlat3.z = sqrt(u_xlat47);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat15.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat1.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati0 = u_xlati0 * 7;
					    u_xlatb48 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb48){
					        u_xlatb49 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb49)) ? u_xlat6.xyz : u_xlat1.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat49 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat35 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat49, u_xlat35);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.wwww;
					    }
					    u_xlat49 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat47 = u_xlat47 + u_xlat6.x;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat47 = min(u_xlat49, u_xlat47);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat3.x = (-u_xlat5.w) + 1.0;
					    u_xlat18.x = dot((-u_xlat2.xyz), u_xlat6.xyz);
					    u_xlat18.x = u_xlat18.x + u_xlat18.x;
					    u_xlat7.xyz = u_xlat6.xyz * (-u_xlat18.xxx) + (-u_xlat2.xyz);
					    u_xlat8.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb48){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat18.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat18.xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat18.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat18.xyz = (bool(u_xlatb47)) ? u_xlat18.xyz : u_xlat1.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat9.yzw = u_xlat18.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat9.y * 0.25;
					        u_xlat18.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat18.x);
					        u_xlat9.x = min(u_xlat33, u_xlat47);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat9.xzw);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat11 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(u_xlat10, u_xlat6);
					        u_xlat10.y = dot(u_xlat11, u_xlat6);
					        u_xlat10.z = dot(u_xlat9, u_xlat6);
					    } else {
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat6);
					        u_xlat10.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat6);
					        u_xlat10.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat6);
					    }
					    u_xlat18.xyz = u_xlat10.xyz + vs_TEXCOORD4.xyz;
					    u_xlat18.xyz = max(u_xlat18.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb0 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb0){
					        u_xlat0 = dot(u_xlat7.xyz, u_xlat7.xyz);
					        u_xlat0 = inversesqrt(u_xlat0);
					        u_xlat9.xyz = vec3(u_xlat0) * u_xlat7.xyz;
					        u_xlat10.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat0 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat0 = min(u_xlat10.z, u_xlat0);
					        u_xlat10.xyz = u_xlat1.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat0) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat7.xyz;
					    }
					    u_xlat0 = (-u_xlat3.x) * 0.699999988 + 1.70000005;
					    u_xlat0 = u_xlat0 * u_xlat3.x;
					    u_xlat0 = u_xlat0 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat0);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat7.xyz;
					            u_xlat12.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat1.xyz = u_xlat1.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat7.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat1.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat7.xyz, u_xlat0);
					        u_xlat0 = u_xlat7.w + -1.0;
					        u_xlat0 = unity_SpecCube1_HDR.w * u_xlat0 + 1.0;
					        u_xlat0 = log2(u_xlat0);
					        u_xlat0 = u_xlat0 * unity_SpecCube1_HDR.y;
					        u_xlat0 = exp2(u_xlat0);
					        u_xlat0 = u_xlat0 * unity_SpecCube1_HDR.x;
					        u_xlat1.xyz = u_xlat7.xyz * vec3(u_xlat0);
					        u_xlat7.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat1.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat7.xyz + u_xlat1.xyz;
					    }
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat0 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat0) * u_xlat4.xyz;
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46) + _WorldSpaceLightPos0.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = max(u_xlat46, 0.00100000005);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat6.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat6.xyz, u_xlat15.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat15.x = dot(_WorldSpaceLightPos0.xyz, u_xlat15.xyz);
					    u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = dot(vec2(u_xlat30), u_xlat3.xx);
					    u_xlat30 = u_xlat30 + -0.5;
					    u_xlat45 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat45 * u_xlat45;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat45 = u_xlat45 * u_xlat32;
					    u_xlat45 = u_xlat30 * u_xlat45 + 1.0;
					    u_xlat32 = -abs(u_xlat46) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat30 = u_xlat30 * u_xlat32 + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat45;
					    u_xlat30 = u_xlat2.x * u_xlat30;
					    u_xlat45 = u_xlat3.x * u_xlat3.x;
					    u_xlat45 = max(u_xlat45, 0.00200000009);
					    u_xlat47 = (-u_xlat45) + 1.0;
					    u_xlat3.x = abs(u_xlat46) * u_xlat47 + u_xlat45;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat45;
					    u_xlat46 = abs(u_xlat46) * u_xlat47;
					    u_xlat46 = u_xlat2.x * u_xlat3.x + u_xlat46;
					    u_xlat46 = u_xlat46 + 9.99999975e-06;
					    u_xlat46 = 0.5 / u_xlat46;
					    u_xlat47 = u_xlat45 * u_xlat45;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat46 = u_xlat46 * u_xlat17;
					    u_xlat46 = u_xlat46 * 3.14159274;
					    u_xlat46 = u_xlat2.x * u_xlat46;
					    u_xlat46 = max(u_xlat46, 0.0);
					    u_xlat45 = u_xlat45 * u_xlat45 + 1.0;
					    u_xlat45 = float(1.0) / u_xlat45;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat46 = u_xlat46 * u_xlat2.x;
					    u_xlat0 = (-u_xlat0) + u_xlat5.w;
					    u_xlat0 = u_xlat0 + 1.0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat30) * u_xlat8.xyz;
					    u_xlat2.xyw = u_xlat18.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat15.x = (-u_xlat15.x) + 1.0;
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat15.x = u_xlat15.x * u_xlat30;
					    u_xlat5.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat15.xxx + u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat15.xyz = u_xlat1.xyz * vec3(u_xlat45);
					    u_xlat1.xyz = (-u_xlat7.xyz) + vec3(u_xlat0);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat7.xyz;
					    SV_Target0.xyz = u_xlat15.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					float u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					vec3 u_xlat15;
					int u_xlati15;
					float u_xlat17;
					vec3 u_xlat18;
					float u_xlat30;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat1.x = vs_TEXCOORD1.w;
					    u_xlat1.y = vs_TEXCOORD2.w;
					    u_xlat1.z = vs_TEXCOORD3.w;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat15.xyz = (-u_xlat1.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat2.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat47 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat47 = min(u_xlat47, 1.0);
					    u_xlat47 = (-u_xlat47) + 1.0;
					    u_xlat3.z = sqrt(u_xlat47);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat15.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat1.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati0 = u_xlati0 * 7;
					    u_xlatb48 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb48){
					        u_xlatb49 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb49)) ? u_xlat6.xyz : u_xlat1.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat49 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat35 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat49, u_xlat35);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.wwww;
					    }
					    u_xlat49 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat47 = u_xlat47 + u_xlat6.x;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat47 = min(u_xlat49, u_xlat47);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat3.x = (-u_xlat5.w) + 1.0;
					    u_xlat18.x = dot((-u_xlat2.xyz), u_xlat6.xyz);
					    u_xlat18.x = u_xlat18.x + u_xlat18.x;
					    u_xlat7.xyz = u_xlat6.xyz * (-u_xlat18.xxx) + (-u_xlat2.xyz);
					    u_xlat8.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb48){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat18.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat18.xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat18.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat18.xyz = (bool(u_xlatb47)) ? u_xlat18.xyz : u_xlat1.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat9.yzw = u_xlat18.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat9.y * 0.25;
					        u_xlat18.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat18.x);
					        u_xlat9.x = min(u_xlat33, u_xlat47);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat9.xzw);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat11 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(u_xlat10, u_xlat6);
					        u_xlat10.y = dot(u_xlat11, u_xlat6);
					        u_xlat10.z = dot(u_xlat9, u_xlat6);
					    } else {
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat6);
					        u_xlat10.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat6);
					        u_xlat10.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat6);
					    }
					    u_xlat18.xyz = u_xlat10.xyz + vs_TEXCOORD4.xyz;
					    u_xlat18.xyz = max(u_xlat18.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb0 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb0){
					        u_xlat0 = dot(u_xlat7.xyz, u_xlat7.xyz);
					        u_xlat0 = inversesqrt(u_xlat0);
					        u_xlat9.xyz = vec3(u_xlat0) * u_xlat7.xyz;
					        u_xlat10.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat0 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat0 = min(u_xlat10.z, u_xlat0);
					        u_xlat10.xyz = u_xlat1.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat0) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat7.xyz;
					    }
					    u_xlat0 = (-u_xlat3.x) * 0.699999988 + 1.70000005;
					    u_xlat0 = u_xlat0 * u_xlat3.x;
					    u_xlat0 = u_xlat0 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat0);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat7.xyz;
					            u_xlat12.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat1.xyz = u_xlat1.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat7.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat1.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat7.xyz, u_xlat0);
					        u_xlat0 = u_xlat7.w + -1.0;
					        u_xlat0 = unity_SpecCube1_HDR.w * u_xlat0 + 1.0;
					        u_xlat0 = log2(u_xlat0);
					        u_xlat0 = u_xlat0 * unity_SpecCube1_HDR.y;
					        u_xlat0 = exp2(u_xlat0);
					        u_xlat0 = u_xlat0 * unity_SpecCube1_HDR.x;
					        u_xlat1.xyz = u_xlat7.xyz * vec3(u_xlat0);
					        u_xlat7.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat1.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat7.xyz + u_xlat1.xyz;
					    }
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat0 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat0) * u_xlat4.xyz;
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46) + _WorldSpaceLightPos0.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = max(u_xlat46, 0.00100000005);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat6.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat6.xyz, u_xlat15.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat15.x = dot(_WorldSpaceLightPos0.xyz, u_xlat15.xyz);
					    u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = dot(vec2(u_xlat30), u_xlat3.xx);
					    u_xlat30 = u_xlat30 + -0.5;
					    u_xlat45 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat45 * u_xlat45;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat45 = u_xlat45 * u_xlat32;
					    u_xlat45 = u_xlat30 * u_xlat45 + 1.0;
					    u_xlat32 = -abs(u_xlat46) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat30 = u_xlat30 * u_xlat32 + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat45;
					    u_xlat30 = u_xlat2.x * u_xlat30;
					    u_xlat45 = u_xlat3.x * u_xlat3.x;
					    u_xlat45 = max(u_xlat45, 0.00200000009);
					    u_xlat47 = (-u_xlat45) + 1.0;
					    u_xlat3.x = abs(u_xlat46) * u_xlat47 + u_xlat45;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat45;
					    u_xlat46 = abs(u_xlat46) * u_xlat47;
					    u_xlat46 = u_xlat2.x * u_xlat3.x + u_xlat46;
					    u_xlat46 = u_xlat46 + 9.99999975e-06;
					    u_xlat46 = 0.5 / u_xlat46;
					    u_xlat47 = u_xlat45 * u_xlat45;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat46 = u_xlat46 * u_xlat17;
					    u_xlat46 = u_xlat46 * 3.14159274;
					    u_xlat46 = u_xlat2.x * u_xlat46;
					    u_xlat46 = max(u_xlat46, 0.0);
					    u_xlat45 = u_xlat45 * u_xlat45 + 1.0;
					    u_xlat45 = float(1.0) / u_xlat45;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat46 = u_xlat46 * u_xlat2.x;
					    u_xlat0 = (-u_xlat0) + u_xlat5.w;
					    u_xlat0 = u_xlat0 + 1.0;
					    u_xlat0 = clamp(u_xlat0, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat30) * u_xlat8.xyz;
					    u_xlat2.xyw = u_xlat18.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat15.x = (-u_xlat15.x) + 1.0;
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat15.x = u_xlat15.x * u_xlat30;
					    u_xlat5.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat15.xxx + u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat15.xyz = u_xlat1.xyz * vec3(u_xlat45);
					    u_xlat1.xyz = (-u_xlat7.xyz) + vec3(u_xlat0);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat7.xyz;
					    SV_Target0.xyz = u_xlat15.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat48 = u_xlat48 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat48 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlati46 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati46 = u_xlati46 * 7;
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat3);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat3);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat48 = u_xlat48 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat48 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlati46 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati46 = u_xlati46 * 7;
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat3);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat3);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat46 = u_xlat46 + u_xlat6.x;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat46 = min(u_xlat48, u_xlat46);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlati46 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati46 = u_xlati46 * 7;
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat3);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat3);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_8_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat46 = u_xlat46 + u_xlat6.x;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat46 = min(u_xlat48, u_xlat46);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlati46 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati46 = u_xlati46 * 7;
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat3);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat3);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat47 = u_xlat47 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat47 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat47 = u_xlat47 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat47 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat47) + u_xlat49;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat49 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat49 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat47) + u_xlat49;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat49 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat49 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + 1.0;
					    u_xlat46 = u_xlat46 + u_xlat5.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					int u_xlati40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlati40 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati40 / 4][u_xlati40 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati40 + 1) / 4][(u_xlati40 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati40 + 2) / 4][(u_xlati40 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec3 u_xlat19;
					float u_xlat27;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb14 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb14){
					        u_xlatb14 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat14.xyz = (bool(u_xlatb14)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat14.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat7.y * 0.25;
					        u_xlat27 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat40 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat14.x = max(u_xlat27, u_xlat14.x);
					        u_xlat7.x = min(u_xlat40, u_xlat14.x);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat14.x = u_xlat3.y * u_xlat3.y;
					    u_xlat14.x = u_xlat3.x * u_xlat3.x + (-u_xlat14.x);
					    u_xlat14.xyz = unity_SHC.xyz * u_xlat14.xxx + u_xlat9.xyz;
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat8.xyz;
					    u_xlat14.xyz = max(u_xlat14.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat41 = log2(u_xlat7.w);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat41) * u_xlat7.xyz;
					    u_xlat41 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat41);
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat7.xyz;
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec3 u_xlat19;
					float u_xlat27;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					int u_xlati40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlati40 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati40 / 4][u_xlati40 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati40 + 1) / 4][(u_xlati40 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati40 + 2) / 4][(u_xlati40 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb14 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb14){
					        u_xlatb14 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat14.xyz = (bool(u_xlatb14)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat14.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat7.y * 0.25;
					        u_xlat27 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat40 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat14.x = max(u_xlat27, u_xlat14.x);
					        u_xlat7.x = min(u_xlat40, u_xlat14.x);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat14.x = u_xlat3.y * u_xlat3.y;
					    u_xlat14.x = u_xlat3.x * u_xlat3.x + (-u_xlat14.x);
					    u_xlat14.xyz = unity_SHC.xyz * u_xlat14.xxx + u_xlat9.xyz;
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat8.xyz;
					    u_xlat14.xyz = max(u_xlat14.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat41 = log2(u_xlat7.w);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat41) * u_xlat7.xyz;
					    u_xlat41 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat41);
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat7.xyz;
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_5_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					int u_xlati40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlati40 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati40 / 4][u_xlati40 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati40 + 1) / 4][(u_xlati40 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati40 + 2) / 4][(u_xlati40 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat49 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					int u_xlati49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati49 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati49 / 4][u_xlati49 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati49 + 1) / 4][(u_xlati49 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati49 + 2) / 4][(u_xlati49 + 2) % 4].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat49 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat49 = u_xlat49 + u_xlat6.x;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat49);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					int u_xlati49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati49 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati49 / 4][u_xlati49 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati49 + 1) / 4][(u_xlati49 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati49 + 2) / 4][(u_xlati49 + 2) % 4].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat49 = u_xlat49 + u_xlat6.x;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat49);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb43 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb43){
					        u_xlatb43 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb43)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat43 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat44 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat43, u_xlat44);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat43 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb43 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb43){
					        u_xlatb43 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb43)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat43 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat44 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat43, u_xlat44);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat43 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb46)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat46, u_xlat47);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb46)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat46, u_xlat47);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat33;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb44)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat7.y * 0.25;
					        u_xlat46 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat44 = max(u_xlat44, u_xlat46);
					        u_xlat7.x = min(u_xlat33, u_xlat44);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat9.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat9.xyz);
					        u_xlat7.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat44 = u_xlat3.y * u_xlat3.y;
					    u_xlat44 = u_xlat3.x * u_xlat3.x + (-u_xlat44);
					    u_xlat7.xyz = unity_SHC.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat8.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat33;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb44)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat7.y * 0.25;
					        u_xlat46 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat44 = max(u_xlat44, u_xlat46);
					        u_xlat7.x = min(u_xlat33, u_xlat44);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat9.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat9.xyz);
					        u_xlat7.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat44 = u_xlat3.y * u_xlat3.y;
					    u_xlat44 = u_xlat3.x * u_xlat3.x + (-u_xlat44);
					    u_xlat7.xyz = unity_SHC.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat8.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat44 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat44 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_8[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat30;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlatb40 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb40){
					        u_xlatb40 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb40)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat40 = u_xlat6.y * 0.25;
					        u_xlat42 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat30 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat40 = max(u_xlat40, u_xlat42);
					        u_xlat6.x = min(u_xlat30, u_xlat40);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					        u_xlat8.xyz = u_xlat6.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat6.xyz = u_xlat6.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(u_xlat7, u_xlat2);
					        u_xlat7.y = dot(u_xlat8, u_xlat2);
					        u_xlat7.z = dot(u_xlat6, u_xlat2);
					    } else {
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(unity_SHAr, u_xlat2);
					        u_xlat7.y = dot(unity_SHAg, u_xlat2);
					        u_xlat7.z = dot(unity_SHAb, u_xlat2);
					    }
					    u_xlat6 = u_xlat2.yzzx * u_xlat2.xyzz;
					    u_xlat8.x = dot(unity_SHBr, u_xlat6);
					    u_xlat8.y = dot(unity_SHBg, u_xlat6);
					    u_xlat8.z = dot(unity_SHBb, u_xlat6);
					    u_xlat40 = u_xlat2.y * u_xlat2.y;
					    u_xlat40 = u_xlat2.x * u_xlat2.x + (-u_xlat40);
					    u_xlat6.xyz = unity_SHC.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat7.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_8[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat30;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlatb40 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb40){
					        u_xlatb40 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb40)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat40 = u_xlat6.y * 0.25;
					        u_xlat42 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat30 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat40 = max(u_xlat40, u_xlat42);
					        u_xlat6.x = min(u_xlat30, u_xlat40);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					        u_xlat8.xyz = u_xlat6.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat6.xyz = u_xlat6.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(u_xlat7, u_xlat2);
					        u_xlat7.y = dot(u_xlat8, u_xlat2);
					        u_xlat7.z = dot(u_xlat6, u_xlat2);
					    } else {
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(unity_SHAr, u_xlat2);
					        u_xlat7.y = dot(unity_SHAg, u_xlat2);
					        u_xlat7.z = dot(unity_SHAb, u_xlat2);
					    }
					    u_xlat6 = u_xlat2.yzzx * u_xlat2.xyzz;
					    u_xlat8.x = dot(unity_SHBr, u_xlat6);
					    u_xlat8.y = dot(unity_SHBg, u_xlat6);
					    u_xlat8.z = dot(unity_SHBb, u_xlat6);
					    u_xlat40 = u_xlat2.y * u_xlat2.y;
					    u_xlat40 = u_xlat2.x * u_xlat2.x + (-u_xlat40);
					    u_xlat6.xyz = unity_SHC.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat7.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat43 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = sqrt(u_xlat44);
					    u_xlat44 = (-u_xlat43) + u_xlat44;
					    u_xlat43 = unity_ShadowFadeCenterAndType.w * u_xlat44 + u_xlat43;
					    u_xlat43 = u_xlat43 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb44)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat45 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat44, u_xlat45);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat44 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat44 = clamp(u_xlat44, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat44 = u_xlat44 + (-u_xlat6.x);
					    u_xlat43 = u_xlat43 * u_xlat44 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					int u_xlati43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati43 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati43 / 4][u_xlati43 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati43 + 1) / 4][(u_xlati43 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati43 + 2) / 4][(u_xlati43 + 2) % 4].z;
					    u_xlat43 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = sqrt(u_xlat44);
					    u_xlat44 = (-u_xlat43) + u_xlat44;
					    u_xlat43 = unity_ShadowFadeCenterAndType.w * u_xlat44 + u_xlat43;
					    u_xlat43 = u_xlat43 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb44)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat45 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat44, u_xlat45);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat44 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat44 = clamp(u_xlat44, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat44 = u_xlat44 + (-u_xlat6.x);
					    u_xlat43 = u_xlat43 * u_xlat44 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat48 = u_xlat48 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat48 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat48 = u_xlat48 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat48 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat46 = u_xlat46 + u_xlat6.x;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat46 = min(u_xlat48, u_xlat46);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat46 = u_xlat46 + u_xlat6.x;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat46 = min(u_xlat48, u_xlat46);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat48 = u_xlat48 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat48 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat48 = u_xlat48 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat48 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat46 = u_xlat46 + u_xlat6.x;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat46 = min(u_xlat48, u_xlat46);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_2_5[4];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_7;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat46 = u_xlat46 + u_xlat6.x;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat46 = min(u_xlat48, u_xlat46);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat47 = u_xlat47 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat47 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat47 = u_xlat47 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat47 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat47) + u_xlat49;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat49 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat49 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat47) + u_xlat49;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat49 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat49 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					int u_xlati40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlati40 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati40 / 4][u_xlati40 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati40 + 1) / 4][(u_xlati40 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati40 + 2) / 4][(u_xlati40 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec3 u_xlat19;
					float u_xlat27;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb14 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb14){
					        u_xlatb14 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat14.xyz = (bool(u_xlatb14)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat14.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat7.y * 0.25;
					        u_xlat27 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat40 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat14.x = max(u_xlat27, u_xlat14.x);
					        u_xlat7.x = min(u_xlat40, u_xlat14.x);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat14.x = u_xlat3.y * u_xlat3.y;
					    u_xlat14.x = u_xlat3.x * u_xlat3.x + (-u_xlat14.x);
					    u_xlat14.xyz = unity_SHC.xyz * u_xlat14.xxx + u_xlat9.xyz;
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat8.xyz;
					    u_xlat14.xyz = max(u_xlat14.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat41 = log2(u_xlat7.w);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat41) * u_xlat7.xyz;
					    u_xlat41 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat41);
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat7.xyz;
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec3 u_xlat19;
					float u_xlat27;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					int u_xlati40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlati40 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati40 / 4][u_xlati40 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati40 + 1) / 4][(u_xlati40 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati40 + 2) / 4][(u_xlati40 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb14 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb14){
					        u_xlatb14 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat14.xyz = (bool(u_xlatb14)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat14.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat7.y * 0.25;
					        u_xlat27 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat40 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat14.x = max(u_xlat27, u_xlat14.x);
					        u_xlat7.x = min(u_xlat40, u_xlat14.x);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat14.x = u_xlat3.y * u_xlat3.y;
					    u_xlat14.x = u_xlat3.x * u_xlat3.x + (-u_xlat14.x);
					    u_xlat14.xyz = unity_SHC.xyz * u_xlat14.xxx + u_xlat9.xyz;
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat8.xyz;
					    u_xlat14.xyz = max(u_xlat14.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat41 = log2(u_xlat7.w);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat41) * u_xlat7.xyz;
					    u_xlat41 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat41);
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat7.xyz;
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					int u_xlati40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlati40 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati40 / 4][u_xlati40 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati40 + 1) / 4][(u_xlati40 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati40 + 2) / 4][(u_xlati40 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat49 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					int u_xlati49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati49 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati49 / 4][u_xlati49 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati49 + 1) / 4][(u_xlati49 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati49 + 2) / 4][(u_xlati49 + 2) % 4].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat49 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat49 = u_xlat49 + u_xlat6.x;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat49);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					int u_xlati49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati49 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati49 / 4][u_xlati49 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati49 + 1) / 4][(u_xlati49 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati49 + 2) / 4][(u_xlati49 + 2) % 4].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat49 = u_xlat49 + u_xlat6.x;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat49);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb43 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb43){
					        u_xlatb43 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb43)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat43 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat44 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat43, u_xlat44);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat43 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb43 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb43){
					        u_xlatb43 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb43)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat43 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat44 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat43, u_xlat44);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat43 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					vec3 u_xlat15;
					float u_xlat17;
					vec3 u_xlat18;
					float u_xlat30;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat1.x = vs_TEXCOORD1.w;
					    u_xlat1.y = vs_TEXCOORD2.w;
					    u_xlat1.z = vs_TEXCOORD3.w;
					    u_xlat15.xyz = (-u_xlat1.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat2.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat47 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat47 = min(u_xlat47, 1.0);
					    u_xlat47 = (-u_xlat47) + 1.0;
					    u_xlat3.z = sqrt(u_xlat47);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati0 = u_xlati0 * 7;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat1.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.wwww;
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat3.x = (-u_xlat5.w) + 1.0;
					    u_xlat18.x = dot((-u_xlat2.xyz), u_xlat6.xyz);
					    u_xlat18.x = u_xlat18.x + u_xlat18.x;
					    u_xlat7.xyz = u_xlat6.xyz * (-u_xlat18.xxx) + (-u_xlat2.xyz);
					    u_xlat18.xyz = vec3(u_xlat48) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat1.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat6.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat6);
					        u_xlat9.y = dot(u_xlat10, u_xlat6);
					        u_xlat9.z = dot(u_xlat8, u_xlat6);
					    } else {
					        u_xlat6.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat6);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat6);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat6);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb0 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb0){
					        u_xlat0.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					        u_xlat0.x = inversesqrt(u_xlat0.x);
					        u_xlat9.xyz = u_xlat0.xxx * u_xlat7.xyz;
					        u_xlat10.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat0.x = min(u_xlat10.y, u_xlat10.x);
					        u_xlat0.x = min(u_xlat10.z, u_xlat0.x);
					        u_xlat10.xyz = u_xlat1.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * u_xlat0.xxx + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat7.xyz;
					    }
					    u_xlat0.x = (-u_xlat3.x) * 0.699999988 + 1.70000005;
					    u_xlat0.x = u_xlat0.x * u_xlat3.x;
					    u_xlat0.x = u_xlat0.x * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat0.x);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat7.xyz;
					            u_xlat12.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat1.xyz = u_xlat1.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat7.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat1.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat7.xyz, u_xlat0.x);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat1.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat7.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat1.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat7.xyz + u_xlat1.xyz;
					    }
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat0.x = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46) + _WorldSpaceLightPos0.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = max(u_xlat46, 0.00100000005);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat6.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat6.xyz, u_xlat15.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat15.x = dot(_WorldSpaceLightPos0.xyz, u_xlat15.xyz);
					    u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = dot(vec2(u_xlat30), u_xlat3.xx);
					    u_xlat30 = u_xlat30 + -0.5;
					    u_xlat45 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat45 * u_xlat45;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat45 = u_xlat45 * u_xlat32;
					    u_xlat45 = u_xlat30 * u_xlat45 + 1.0;
					    u_xlat32 = -abs(u_xlat46) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat30 = u_xlat30 * u_xlat32 + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat45;
					    u_xlat30 = u_xlat2.x * u_xlat30;
					    u_xlat45 = u_xlat3.x * u_xlat3.x;
					    u_xlat45 = max(u_xlat45, 0.00200000009);
					    u_xlat47 = (-u_xlat45) + 1.0;
					    u_xlat3.x = abs(u_xlat46) * u_xlat47 + u_xlat45;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat45;
					    u_xlat46 = abs(u_xlat46) * u_xlat47;
					    u_xlat46 = u_xlat2.x * u_xlat3.x + u_xlat46;
					    u_xlat46 = u_xlat46 + 9.99999975e-06;
					    u_xlat46 = 0.5 / u_xlat46;
					    u_xlat47 = u_xlat45 * u_xlat45;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat46 = u_xlat46 * u_xlat17;
					    u_xlat46 = u_xlat46 * 3.14159274;
					    u_xlat46 = u_xlat2.x * u_xlat46;
					    u_xlat46 = max(u_xlat46, 0.0);
					    u_xlat45 = u_xlat45 * u_xlat45 + 1.0;
					    u_xlat45 = float(1.0) / u_xlat45;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat46 = u_xlat46 * u_xlat2.x;
					    u_xlat0.x = (-u_xlat0.x) + u_xlat5.w;
					    u_xlat0.x = u_xlat0.x + 1.0;
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat30) * u_xlat18.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat18.xyz * vec3(u_xlat46);
					    u_xlat15.x = (-u_xlat15.x) + 1.0;
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat15.x = u_xlat15.x * u_xlat30;
					    u_xlat5.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat15.xxx + u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat15.xyz = u_xlat1.xyz * vec3(u_xlat45);
					    u_xlat1.xyz = (-u_xlat7.xyz) + u_xlat0.xxx;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat15.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_9_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					vec3 u_xlat15;
					int u_xlati15;
					float u_xlat17;
					vec3 u_xlat18;
					float u_xlat30;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat1.x = vs_TEXCOORD1.w;
					    u_xlat1.y = vs_TEXCOORD2.w;
					    u_xlat1.z = vs_TEXCOORD3.w;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat15.xyz = (-u_xlat1.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat2.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat47 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat47 = min(u_xlat47, 1.0);
					    u_xlat47 = (-u_xlat47) + 1.0;
					    u_xlat3.z = sqrt(u_xlat47);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati0 = u_xlati0 * 7;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat1.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.wwww;
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat3.x = (-u_xlat5.w) + 1.0;
					    u_xlat18.x = dot((-u_xlat2.xyz), u_xlat6.xyz);
					    u_xlat18.x = u_xlat18.x + u_xlat18.x;
					    u_xlat7.xyz = u_xlat6.xyz * (-u_xlat18.xxx) + (-u_xlat2.xyz);
					    u_xlat18.xyz = vec3(u_xlat48) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat1.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat6.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat6);
					        u_xlat9.y = dot(u_xlat10, u_xlat6);
					        u_xlat9.z = dot(u_xlat8, u_xlat6);
					    } else {
					        u_xlat6.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat6);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat6);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat6);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb0 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb0){
					        u_xlat0.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					        u_xlat0.x = inversesqrt(u_xlat0.x);
					        u_xlat9.xyz = u_xlat0.xxx * u_xlat7.xyz;
					        u_xlat10.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat0.x = min(u_xlat10.y, u_xlat10.x);
					        u_xlat0.x = min(u_xlat10.z, u_xlat0.x);
					        u_xlat10.xyz = u_xlat1.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * u_xlat0.xxx + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat7.xyz;
					    }
					    u_xlat0.x = (-u_xlat3.x) * 0.699999988 + 1.70000005;
					    u_xlat0.x = u_xlat0.x * u_xlat3.x;
					    u_xlat0.x = u_xlat0.x * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat0.x);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat7.xyz;
					            u_xlat12.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat1.xyz = u_xlat1.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat7.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat1.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat7.xyz, u_xlat0.x);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat1.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat7.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat1.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat7.xyz + u_xlat1.xyz;
					    }
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat0.x = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46) + _WorldSpaceLightPos0.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = max(u_xlat46, 0.00100000005);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat6.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat6.xyz, u_xlat15.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat15.x = dot(_WorldSpaceLightPos0.xyz, u_xlat15.xyz);
					    u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = dot(vec2(u_xlat30), u_xlat3.xx);
					    u_xlat30 = u_xlat30 + -0.5;
					    u_xlat45 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat45 * u_xlat45;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat45 = u_xlat45 * u_xlat32;
					    u_xlat45 = u_xlat30 * u_xlat45 + 1.0;
					    u_xlat32 = -abs(u_xlat46) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat30 = u_xlat30 * u_xlat32 + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat45;
					    u_xlat30 = u_xlat2.x * u_xlat30;
					    u_xlat45 = u_xlat3.x * u_xlat3.x;
					    u_xlat45 = max(u_xlat45, 0.00200000009);
					    u_xlat47 = (-u_xlat45) + 1.0;
					    u_xlat3.x = abs(u_xlat46) * u_xlat47 + u_xlat45;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat45;
					    u_xlat46 = abs(u_xlat46) * u_xlat47;
					    u_xlat46 = u_xlat2.x * u_xlat3.x + u_xlat46;
					    u_xlat46 = u_xlat46 + 9.99999975e-06;
					    u_xlat46 = 0.5 / u_xlat46;
					    u_xlat47 = u_xlat45 * u_xlat45;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat46 = u_xlat46 * u_xlat17;
					    u_xlat46 = u_xlat46 * 3.14159274;
					    u_xlat46 = u_xlat2.x * u_xlat46;
					    u_xlat46 = max(u_xlat46, 0.0);
					    u_xlat45 = u_xlat45 * u_xlat45 + 1.0;
					    u_xlat45 = float(1.0) / u_xlat45;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat46 = u_xlat46 * u_xlat2.x;
					    u_xlat0.x = (-u_xlat0.x) + u_xlat5.w;
					    u_xlat0.x = u_xlat0.x + 1.0;
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat30) * u_xlat18.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat18.xyz * vec3(u_xlat46);
					    u_xlat15.x = (-u_xlat15.x) + 1.0;
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat15.x = u_xlat15.x * u_xlat30;
					    u_xlat5.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat15.xxx + u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat15.xyz = u_xlat1.xyz * vec3(u_xlat45);
					    u_xlat1.xyz = (-u_xlat7.xyz) + u_xlat0.xxx;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat15.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_7_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlati46 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati46 = u_xlati46 * 7;
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat3);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat3);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_9_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlati46 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati46 = u_xlati46 * 7;
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat3);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat3);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb46)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat46, u_xlat47);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb46)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat46, u_xlat47);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat33;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb44)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat7.y * 0.25;
					        u_xlat46 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat44 = max(u_xlat44, u_xlat46);
					        u_xlat7.x = min(u_xlat33, u_xlat44);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat9.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat9.xyz);
					        u_xlat7.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat44 = u_xlat3.y * u_xlat3.y;
					    u_xlat44 = u_xlat3.x * u_xlat3.x + (-u_xlat44);
					    u_xlat7.xyz = unity_SHC.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat8.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat33;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb44)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat7.y * 0.25;
					        u_xlat46 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat44 = max(u_xlat44, u_xlat46);
					        u_xlat7.x = min(u_xlat33, u_xlat44);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat9.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat9.xyz);
					        u_xlat7.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat44 = u_xlat3.y * u_xlat3.y;
					    u_xlat44 = u_xlat3.x * u_xlat3.x + (-u_xlat44);
					    u_xlat7.xyz = unity_SHC.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat8.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat44 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat43 = inversesqrt(u_xlat43);
					    u_xlat3.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					    u_xlat43 = (-u_xlat5.w) + 1.0;
					    u_xlat44 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat44 = u_xlat44 + u_xlat44;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat44)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat44 = log2(u_xlat7.w);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.y;
					    u_xlat44 = exp2(u_xlat44);
					    u_xlat44 = u_xlat44 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat44);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat44) * u_xlat7.xyz;
					    u_xlat44 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat44);
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat44 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat44 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat44 = u_xlat44 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat44) * u_xlat8.xyz;
					    u_xlat44 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat44);
					    u_xlat7.xyz = u_xlat7.xyz + u_xlat8.xyz;
					    u_xlatb44 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb44){
					        u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat44 = inversesqrt(u_xlat44);
					        u_xlat8.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat44 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat44 = min(u_xlat9.z, u_xlat44);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat44) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat44 = (-u_xlat43) * 0.699999988 + 1.70000005;
					    u_xlat44 = u_xlat43 * u_xlat44;
					    u_xlat44 = u_xlat44 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat44);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat44);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat44 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat44) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat43));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat43 * u_xlat43;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat43 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat43 + u_xlat29;
					    u_xlat43 = u_xlat2.x * u_xlat43 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat43;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat43 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat43 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat43 = u_xlat43 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat43 = u_xlat43 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb43 = u_xlat43!=0.0;
					    u_xlat43 = u_xlatb43 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat43;
					    u_xlat43 = (-u_xlat44) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * _LightColor0.xyz;
					    u_xlat2.xyw = u_xlat7.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = vec3(u_xlat42) * _LightColor0.xyz;
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_8[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat30;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlatb40 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb40){
					        u_xlatb40 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb40)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat40 = u_xlat6.y * 0.25;
					        u_xlat42 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat30 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat40 = max(u_xlat40, u_xlat42);
					        u_xlat6.x = min(u_xlat30, u_xlat40);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					        u_xlat8.xyz = u_xlat6.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat6.xyz = u_xlat6.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(u_xlat7, u_xlat2);
					        u_xlat7.y = dot(u_xlat8, u_xlat2);
					        u_xlat7.z = dot(u_xlat6, u_xlat2);
					    } else {
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(unity_SHAr, u_xlat2);
					        u_xlat7.y = dot(unity_SHAg, u_xlat2);
					        u_xlat7.z = dot(unity_SHAb, u_xlat2);
					    }
					    u_xlat6 = u_xlat2.yzzx * u_xlat2.xyzz;
					    u_xlat8.x = dot(unity_SHBr, u_xlat6);
					    u_xlat8.y = dot(unity_SHBg, u_xlat6);
					    u_xlat8.z = dot(unity_SHBb, u_xlat6);
					    u_xlat40 = u_xlat2.y * u_xlat2.y;
					    u_xlat40 = u_xlat2.x * u_xlat2.x + (-u_xlat40);
					    u_xlat6.xyz = unity_SHC.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat7.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_2_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_8[2];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat30;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlatb40 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb40){
					        u_xlatb40 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb40)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat40 = u_xlat6.y * 0.25;
					        u_xlat42 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat30 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat40 = max(u_xlat40, u_xlat42);
					        u_xlat6.x = min(u_xlat30, u_xlat40);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					        u_xlat8.xyz = u_xlat6.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat6.xyz = u_xlat6.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xyz);
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(u_xlat7, u_xlat2);
					        u_xlat7.y = dot(u_xlat8, u_xlat2);
					        u_xlat7.z = dot(u_xlat6, u_xlat2);
					    } else {
					        u_xlat2.w = 1.0;
					        u_xlat7.x = dot(unity_SHAr, u_xlat2);
					        u_xlat7.y = dot(unity_SHAg, u_xlat2);
					        u_xlat7.z = dot(unity_SHAb, u_xlat2);
					    }
					    u_xlat6 = u_xlat2.yzzx * u_xlat2.xyzz;
					    u_xlat8.x = dot(unity_SHBr, u_xlat6);
					    u_xlat8.y = dot(unity_SHBg, u_xlat6);
					    u_xlat8.z = dot(unity_SHBb, u_xlat6);
					    u_xlat40 = u_xlat2.y * u_xlat2.y;
					    u_xlat40 = u_xlat2.x * u_xlat2.x + (-u_xlat40);
					    u_xlat6.xyz = unity_SHC.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = max(u_xlat6.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat7.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					float u_xlat14;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat2.z = sqrt(u_xlat39);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat39 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat5.xyz;
					    u_xlat39 = (-u_xlat4.w) + 1.0;
					    u_xlat40 = dot((-u_xlat1.xyz), u_xlat2.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat5.xyz = u_xlat2.xyz * (-vec3(u_xlat40)) + (-u_xlat1.xyz);
					    u_xlat6 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat40 = log2(u_xlat6.w);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.y;
					    u_xlat40 = exp2(u_xlat40);
					    u_xlat40 = u_xlat40 * unity_Lightmap_HDR.x;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat40);
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat7.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat6.xyz = vec3(u_xlat40) * u_xlat6.xyz;
					    u_xlat40 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat6.xyz = u_xlat6.xyz / vec3(u_xlat40);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat6.xyz = u_xlat6.xyz + u_xlat7.xyz;
					    u_xlat6.xyz = u_xlat4.yyy * u_xlat6.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat5.xyz, u_xlat5.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat5.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat5.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat5.xyz, u_xlat5.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat5.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat5.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat5 = textureLod(unity_SpecCube1, u_xlat5.xyz, u_xlat40);
					        u_xlat0.x = u_xlat5.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat5.xyz * u_xlat0.xxx;
					        u_xlat5.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat5.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat4.yyy * u_xlat8.xyz;
					    u_xlat5.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat40) * u_xlat3.xyz;
					    u_xlat1.x = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat14 = (-u_xlat40) + u_xlat4.w;
					    u_xlat14 = u_xlat14 + 1.0;
					    u_xlat14 = clamp(u_xlat14, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat39 * u_xlat39;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat39 = u_xlat39 * u_xlat1.x;
					    u_xlat1.xyz = (-u_xlat5.xyz) + vec3(u_xlat14);
					    u_xlat1.xyz = vec3(u_xlat39) * u_xlat1.xyz + u_xlat5.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat6.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat8.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat46 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    u_xlat46 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat49 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat49 = u_xlat49 + u_xlat49;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat49)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlatb46 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb46){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat46 = u_xlat3.y * u_xlat3.y;
					    u_xlat46 = u_xlat3.x * u_xlat3.x + (-u_xlat46);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat46 = log2(u_xlat9.w);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.y;
					    u_xlat46 = exp2(u_xlat46);
					    u_xlat46 = u_xlat46 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat46) * u_xlat9.xyz;
					    u_xlat46 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat46);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					float u_xlat43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat43 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = sqrt(u_xlat44);
					    u_xlat44 = (-u_xlat43) + u_xlat44;
					    u_xlat43 = unity_ShadowFadeCenterAndType.w * u_xlat44 + u_xlat43;
					    u_xlat43 = u_xlat43 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb44)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat45 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat44, u_xlat45);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat44 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat44 = clamp(u_xlat44, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat44 = u_xlat44 + (-u_xlat6.x);
					    u_xlat43 = u_xlat43 * u_xlat44 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					bvec3 u_xlatb11;
					vec3 u_xlat12;
					bvec3 u_xlatb13;
					float u_xlat15;
					float u_xlat16;
					float u_xlat29;
					float u_xlat30;
					float u_xlat42;
					int u_xlati42;
					float u_xlat43;
					int u_xlati43;
					bool u_xlatb43;
					float u_xlat44;
					bool u_xlatb44;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati42 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati42].xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat2.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat43 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat43 = min(u_xlat43, 1.0);
					    u_xlat43 = (-u_xlat43) + 1.0;
					    u_xlat3.z = sqrt(u_xlat43);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati43 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati43 / 4][u_xlati43 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati43 + 1) / 4][(u_xlati43 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati43 + 2) / 4][(u_xlati43 + 2) % 4].z;
					    u_xlat43 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = sqrt(u_xlat44);
					    u_xlat44 = (-u_xlat43) + u_xlat44;
					    u_xlat43 = unity_ShadowFadeCenterAndType.w * u_xlat44 + u_xlat43;
					    u_xlat43 = u_xlat43 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlatb44 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb44){
					        u_xlatb44 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb44)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat44 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat45 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat44, u_xlat45);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat44 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat44 = clamp(u_xlat44, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat44 = u_xlat44 + (-u_xlat6.x);
					    u_xlat43 = u_xlat43 * u_xlat44 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat44 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat44 = inversesqrt(u_xlat44);
					    u_xlat3.xyz = vec3(u_xlat44) * u_xlat6.xyz;
					    u_xlat44 = (-u_xlat5.w) + 1.0;
					    u_xlat45 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat45 = u_xlat45 + u_xlat45;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat45)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat43) * _LightColor0.xyz;
					    u_xlatb43 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb43){
					        u_xlat43 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat43 = inversesqrt(u_xlat43);
					        u_xlat8.xyz = vec3(u_xlat43) * u_xlat6.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat8.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat8.xyz;
					        u_xlatb11.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat8.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat9;
					            hlslcc_movcTemp.x = (u_xlatb11.x) ? u_xlat9.x : u_xlat10.x;
					            hlslcc_movcTemp.y = (u_xlatb11.y) ? u_xlat9.y : u_xlat10.y;
					            hlslcc_movcTemp.z = (u_xlatb11.z) ? u_xlat9.z : u_xlat10.z;
					            u_xlat9 = hlslcc_movcTemp;
					        }
					        u_xlat43 = min(u_xlat9.y, u_xlat9.x);
					        u_xlat43 = min(u_xlat9.z, u_xlat43);
					        u_xlat9.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat43) + u_xlat9.xyz;
					    } else {
					        u_xlat8.xyz = u_xlat6.xyz;
					    }
					    u_xlat43 = (-u_xlat44) * 0.699999988 + 1.70000005;
					    u_xlat43 = u_xlat43 * u_xlat44;
					    u_xlat43 = u_xlat43 * 6.0;
					    u_xlat8 = textureLod(unity_SpecCube0, u_xlat8.xyz, u_xlat43);
					    u_xlat45 = u_xlat8.w + -1.0;
					    u_xlat45 = unity_SpecCube0_HDR.w * u_xlat45 + 1.0;
					    u_xlat45 = log2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.y;
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat45 = u_xlat45 * unity_SpecCube0_HDR.x;
					    u_xlat9.xyz = u_xlat8.xyz * vec3(u_xlat45);
					    u_xlatb46 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb46){
					        u_xlatb46 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb46){
					            u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat46 = inversesqrt(u_xlat46);
					            u_xlat10.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat10.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat10.xyz;
					            u_xlatb13.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat10.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat11;
					                hlslcc_movcTemp.x = (u_xlatb13.x) ? u_xlat11.x : u_xlat12.x;
					                hlslcc_movcTemp.y = (u_xlatb13.y) ? u_xlat11.y : u_xlat12.y;
					                hlslcc_movcTemp.z = (u_xlatb13.z) ? u_xlat11.z : u_xlat12.z;
					                u_xlat11 = hlslcc_movcTemp;
					            }
					            u_xlat46 = min(u_xlat11.y, u_xlat11.x);
					            u_xlat46 = min(u_xlat11.z, u_xlat46);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat10.xyz * vec3(u_xlat46) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat43);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat45) * u_xlat8.xyz + (-u_xlat0.xyz);
					        u_xlat9.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat9.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat43 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat43) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat42) + _WorldSpaceLightPos0.xyz;
					    u_xlat42 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat42 = max(u_xlat42, 0.00100000005);
					    u_xlat42 = inversesqrt(u_xlat42);
					    u_xlat1.xyz = vec3(u_xlat42) * u_xlat1.xyz;
					    u_xlat42 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat16 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat16 = clamp(u_xlat16, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat15 = u_xlat1.x * u_xlat1.x;
					    u_xlat15 = dot(vec2(u_xlat15), vec2(u_xlat44));
					    u_xlat15 = u_xlat15 + -0.5;
					    u_xlat29 = (-u_xlat2.x) + 1.0;
					    u_xlat30 = u_xlat29 * u_xlat29;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat29 = u_xlat29 * u_xlat30;
					    u_xlat29 = u_xlat15 * u_xlat29 + 1.0;
					    u_xlat30 = -abs(u_xlat42) + 1.0;
					    u_xlat3.x = u_xlat30 * u_xlat30;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat30 = u_xlat30 * u_xlat3.x;
					    u_xlat15 = u_xlat15 * u_xlat30 + 1.0;
					    u_xlat15 = u_xlat15 * u_xlat29;
					    u_xlat15 = u_xlat2.x * u_xlat15;
					    u_xlat29 = u_xlat44 * u_xlat44;
					    u_xlat29 = max(u_xlat29, 0.00200000009);
					    u_xlat44 = (-u_xlat29) + 1.0;
					    u_xlat3.x = abs(u_xlat42) * u_xlat44 + u_xlat29;
					    u_xlat44 = u_xlat2.x * u_xlat44 + u_xlat29;
					    u_xlat42 = abs(u_xlat42) * u_xlat44;
					    u_xlat42 = u_xlat2.x * u_xlat3.x + u_xlat42;
					    u_xlat42 = u_xlat42 + 9.99999975e-06;
					    u_xlat42 = 0.5 / u_xlat42;
					    u_xlat44 = u_xlat29 * u_xlat29;
					    u_xlat3.x = u_xlat16 * u_xlat44 + (-u_xlat16);
					    u_xlat16 = u_xlat3.x * u_xlat16 + 1.0;
					    u_xlat44 = u_xlat44 * 0.318309873;
					    u_xlat16 = u_xlat16 * u_xlat16 + 1.00000001e-07;
					    u_xlat16 = u_xlat44 / u_xlat16;
					    u_xlat42 = u_xlat42 * u_xlat16;
					    u_xlat42 = u_xlat42 * 3.14159274;
					    u_xlat42 = u_xlat2.x * u_xlat42;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat29 = u_xlat29 * u_xlat29 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat29;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat42 = u_xlat42 * u_xlat2.x;
					    u_xlat43 = (-u_xlat43) + u_xlat5.w;
					    u_xlat43 = u_xlat43 + 1.0;
					    u_xlat43 = clamp(u_xlat43, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat15) * u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat42);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat43);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat42 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat42 = (-u_xlat42) + 1.0;
					    u_xlat42 = u_xlat42 * _ProjectionParams.z;
					    u_xlat42 = max(u_xlat42, 0.0);
					    u_xlat42 = u_xlat42 * unity_FogParams.x;
					    u_xlat42 = u_xlat42 * (-u_xlat42);
					    u_xlat42 = exp2(u_xlat42);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat42) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_9_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					vec3 u_xlat15;
					float u_xlat17;
					vec3 u_xlat18;
					float u_xlat30;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat1.x = vs_TEXCOORD1.w;
					    u_xlat1.y = vs_TEXCOORD2.w;
					    u_xlat1.z = vs_TEXCOORD3.w;
					    u_xlat15.xyz = (-u_xlat1.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat2.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat47 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat47 = min(u_xlat47, 1.0);
					    u_xlat47 = (-u_xlat47) + 1.0;
					    u_xlat3.z = sqrt(u_xlat47);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat15.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat1.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati0 = u_xlati0 * 7;
					    u_xlatb48 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb48){
					        u_xlatb49 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb49)) ? u_xlat6.xyz : u_xlat1.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat49 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat35 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat49, u_xlat35);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.wwww;
					    }
					    u_xlat49 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat49 = u_xlat49 + (-u_xlat6.x);
					    u_xlat47 = u_xlat47 * u_xlat49 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat3.x = (-u_xlat5.w) + 1.0;
					    u_xlat18.x = dot((-u_xlat2.xyz), u_xlat6.xyz);
					    u_xlat18.x = u_xlat18.x + u_xlat18.x;
					    u_xlat7.xyz = u_xlat6.xyz * (-u_xlat18.xxx) + (-u_xlat2.xyz);
					    u_xlat8.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb48){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat18.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat18.xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat18.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat18.xyz = (bool(u_xlatb47)) ? u_xlat18.xyz : u_xlat1.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat9.yzw = u_xlat18.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat9.y * 0.25;
					        u_xlat18.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat18.x);
					        u_xlat9.x = min(u_xlat33, u_xlat47);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat9.xzw);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat11 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(u_xlat10, u_xlat6);
					        u_xlat10.y = dot(u_xlat11, u_xlat6);
					        u_xlat10.z = dot(u_xlat9, u_xlat6);
					    } else {
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat6);
					        u_xlat10.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat6);
					        u_xlat10.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat6);
					    }
					    u_xlat18.xyz = u_xlat10.xyz + vs_TEXCOORD4.xyz;
					    u_xlat18.xyz = max(u_xlat18.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb0 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb0){
					        u_xlat0.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					        u_xlat0.x = inversesqrt(u_xlat0.x);
					        u_xlat9.xyz = u_xlat0.xxx * u_xlat7.xyz;
					        u_xlat10.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat0.x = min(u_xlat10.y, u_xlat10.x);
					        u_xlat0.x = min(u_xlat10.z, u_xlat0.x);
					        u_xlat10.xyz = u_xlat1.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * u_xlat0.xxx + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat7.xyz;
					    }
					    u_xlat0.x = (-u_xlat3.x) * 0.699999988 + 1.70000005;
					    u_xlat0.x = u_xlat0.x * u_xlat3.x;
					    u_xlat0.x = u_xlat0.x * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat0.x);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat7.xyz;
					            u_xlat12.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat1.xyz = u_xlat1.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat7.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat1.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat7.xyz, u_xlat0.x);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat1.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat7.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat1.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat7.xyz + u_xlat1.xyz;
					    }
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat0.x = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46) + _WorldSpaceLightPos0.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = max(u_xlat46, 0.00100000005);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat6.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat6.xyz, u_xlat15.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat15.x = dot(_WorldSpaceLightPos0.xyz, u_xlat15.xyz);
					    u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = dot(vec2(u_xlat30), u_xlat3.xx);
					    u_xlat30 = u_xlat30 + -0.5;
					    u_xlat45 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat45 * u_xlat45;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat45 = u_xlat45 * u_xlat32;
					    u_xlat45 = u_xlat30 * u_xlat45 + 1.0;
					    u_xlat32 = -abs(u_xlat46) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat30 = u_xlat30 * u_xlat32 + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat45;
					    u_xlat30 = u_xlat2.x * u_xlat30;
					    u_xlat45 = u_xlat3.x * u_xlat3.x;
					    u_xlat45 = max(u_xlat45, 0.00200000009);
					    u_xlat47 = (-u_xlat45) + 1.0;
					    u_xlat3.x = abs(u_xlat46) * u_xlat47 + u_xlat45;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat45;
					    u_xlat46 = abs(u_xlat46) * u_xlat47;
					    u_xlat46 = u_xlat2.x * u_xlat3.x + u_xlat46;
					    u_xlat46 = u_xlat46 + 9.99999975e-06;
					    u_xlat46 = 0.5 / u_xlat46;
					    u_xlat47 = u_xlat45 * u_xlat45;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat46 = u_xlat46 * u_xlat17;
					    u_xlat46 = u_xlat46 * 3.14159274;
					    u_xlat46 = u_xlat2.x * u_xlat46;
					    u_xlat46 = max(u_xlat46, 0.0);
					    u_xlat45 = u_xlat45 * u_xlat45 + 1.0;
					    u_xlat45 = float(1.0) / u_xlat45;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat46 = u_xlat46 * u_xlat2.x;
					    u_xlat0.x = (-u_xlat0.x) + u_xlat5.w;
					    u_xlat0.x = u_xlat0.x + 1.0;
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat30) * u_xlat8.xyz;
					    u_xlat2.xyw = u_xlat18.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat15.x = (-u_xlat15.x) + 1.0;
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat15.x = u_xlat15.x * u_xlat30;
					    u_xlat5.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat15.xxx + u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat15.xyz = u_xlat1.xyz * vec3(u_xlat45);
					    u_xlat1.xyz = (-u_xlat7.xyz) + u_xlat0.xxx;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat15.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_10_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					vec3 u_xlat15;
					int u_xlati15;
					float u_xlat17;
					vec3 u_xlat18;
					float u_xlat30;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat1.x = vs_TEXCOORD1.w;
					    u_xlat1.y = vs_TEXCOORD2.w;
					    u_xlat1.z = vs_TEXCOORD3.w;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat15.xyz = (-u_xlat1.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat2.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat47 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat47 = min(u_xlat47, 1.0);
					    u_xlat47 = (-u_xlat47) + 1.0;
					    u_xlat3.z = sqrt(u_xlat47);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat15.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat1.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati0 = u_xlati0 * 7;
					    u_xlatb48 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb48){
					        u_xlatb49 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb49)) ? u_xlat6.xyz : u_xlat1.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat49 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat35 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat49, u_xlat35);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.wwww;
					    }
					    u_xlat49 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat49 = u_xlat49 + (-u_xlat6.x);
					    u_xlat47 = u_xlat47 * u_xlat49 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat3.x = (-u_xlat5.w) + 1.0;
					    u_xlat18.x = dot((-u_xlat2.xyz), u_xlat6.xyz);
					    u_xlat18.x = u_xlat18.x + u_xlat18.x;
					    u_xlat7.xyz = u_xlat6.xyz * (-u_xlat18.xxx) + (-u_xlat2.xyz);
					    u_xlat8.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb48){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat18.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat18.xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat18.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat18.xyz = (bool(u_xlatb47)) ? u_xlat18.xyz : u_xlat1.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat9.yzw = u_xlat18.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat9.y * 0.25;
					        u_xlat18.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat18.x);
					        u_xlat9.x = min(u_xlat33, u_xlat47);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat9.xzw);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat11 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(u_xlat10, u_xlat6);
					        u_xlat10.y = dot(u_xlat11, u_xlat6);
					        u_xlat10.z = dot(u_xlat9, u_xlat6);
					    } else {
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat6);
					        u_xlat10.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat6);
					        u_xlat10.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat6);
					    }
					    u_xlat18.xyz = u_xlat10.xyz + vs_TEXCOORD4.xyz;
					    u_xlat18.xyz = max(u_xlat18.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb0 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb0){
					        u_xlat0.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					        u_xlat0.x = inversesqrt(u_xlat0.x);
					        u_xlat9.xyz = u_xlat0.xxx * u_xlat7.xyz;
					        u_xlat10.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat0.x = min(u_xlat10.y, u_xlat10.x);
					        u_xlat0.x = min(u_xlat10.z, u_xlat0.x);
					        u_xlat10.xyz = u_xlat1.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * u_xlat0.xxx + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat7.xyz;
					    }
					    u_xlat0.x = (-u_xlat3.x) * 0.699999988 + 1.70000005;
					    u_xlat0.x = u_xlat0.x * u_xlat3.x;
					    u_xlat0.x = u_xlat0.x * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat0.x);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat7.xyz;
					            u_xlat12.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat1.xyz = u_xlat1.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat7.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat1.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat7.xyz, u_xlat0.x);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat1.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat7.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat1.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat7.xyz + u_xlat1.xyz;
					    }
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat0.x = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46) + _WorldSpaceLightPos0.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = max(u_xlat46, 0.00100000005);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat6.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat6.xyz, u_xlat15.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat15.x = dot(_WorldSpaceLightPos0.xyz, u_xlat15.xyz);
					    u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = dot(vec2(u_xlat30), u_xlat3.xx);
					    u_xlat30 = u_xlat30 + -0.5;
					    u_xlat45 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat45 * u_xlat45;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat45 = u_xlat45 * u_xlat32;
					    u_xlat45 = u_xlat30 * u_xlat45 + 1.0;
					    u_xlat32 = -abs(u_xlat46) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat30 = u_xlat30 * u_xlat32 + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat45;
					    u_xlat30 = u_xlat2.x * u_xlat30;
					    u_xlat45 = u_xlat3.x * u_xlat3.x;
					    u_xlat45 = max(u_xlat45, 0.00200000009);
					    u_xlat47 = (-u_xlat45) + 1.0;
					    u_xlat3.x = abs(u_xlat46) * u_xlat47 + u_xlat45;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat45;
					    u_xlat46 = abs(u_xlat46) * u_xlat47;
					    u_xlat46 = u_xlat2.x * u_xlat3.x + u_xlat46;
					    u_xlat46 = u_xlat46 + 9.99999975e-06;
					    u_xlat46 = 0.5 / u_xlat46;
					    u_xlat47 = u_xlat45 * u_xlat45;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat46 = u_xlat46 * u_xlat17;
					    u_xlat46 = u_xlat46 * 3.14159274;
					    u_xlat46 = u_xlat2.x * u_xlat46;
					    u_xlat46 = max(u_xlat46, 0.0);
					    u_xlat45 = u_xlat45 * u_xlat45 + 1.0;
					    u_xlat45 = float(1.0) / u_xlat45;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat46 = u_xlat46 * u_xlat2.x;
					    u_xlat0.x = (-u_xlat0.x) + u_xlat5.w;
					    u_xlat0.x = u_xlat0.x + 1.0;
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat30) * u_xlat8.xyz;
					    u_xlat2.xyw = u_xlat18.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat15.x = (-u_xlat15.x) + 1.0;
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat15.x = u_xlat15.x * u_xlat30;
					    u_xlat5.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat15.xxx + u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat15.xyz = u_xlat1.xyz * vec3(u_xlat45);
					    u_xlat1.xyz = (-u_xlat7.xyz) + u_xlat0.xxx;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat15.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_9_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					vec3 u_xlat15;
					float u_xlat17;
					vec3 u_xlat18;
					float u_xlat30;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat1.x = vs_TEXCOORD1.w;
					    u_xlat1.y = vs_TEXCOORD2.w;
					    u_xlat1.z = vs_TEXCOORD3.w;
					    u_xlat15.xyz = (-u_xlat1.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat2.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat47 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat47 = min(u_xlat47, 1.0);
					    u_xlat47 = (-u_xlat47) + 1.0;
					    u_xlat3.z = sqrt(u_xlat47);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat15.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat1.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati0 = u_xlati0 * 7;
					    u_xlatb48 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb48){
					        u_xlatb49 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb49)) ? u_xlat6.xyz : u_xlat1.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat49 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat35 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat49, u_xlat35);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.wwww;
					    }
					    u_xlat49 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat47 = u_xlat47 + u_xlat6.x;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat47 = min(u_xlat49, u_xlat47);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat3.x = (-u_xlat5.w) + 1.0;
					    u_xlat18.x = dot((-u_xlat2.xyz), u_xlat6.xyz);
					    u_xlat18.x = u_xlat18.x + u_xlat18.x;
					    u_xlat7.xyz = u_xlat6.xyz * (-u_xlat18.xxx) + (-u_xlat2.xyz);
					    u_xlat8.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb48){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat18.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat18.xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat18.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat18.xyz = (bool(u_xlatb47)) ? u_xlat18.xyz : u_xlat1.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat9.yzw = u_xlat18.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat9.y * 0.25;
					        u_xlat18.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat18.x);
					        u_xlat9.x = min(u_xlat33, u_xlat47);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat9.xzw);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat11 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(u_xlat10, u_xlat6);
					        u_xlat10.y = dot(u_xlat11, u_xlat6);
					        u_xlat10.z = dot(u_xlat9, u_xlat6);
					    } else {
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat6);
					        u_xlat10.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat6);
					        u_xlat10.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat6);
					    }
					    u_xlat18.xyz = u_xlat10.xyz + vs_TEXCOORD4.xyz;
					    u_xlat18.xyz = max(u_xlat18.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb0 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb0){
					        u_xlat0.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					        u_xlat0.x = inversesqrt(u_xlat0.x);
					        u_xlat9.xyz = u_xlat0.xxx * u_xlat7.xyz;
					        u_xlat10.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat0.x = min(u_xlat10.y, u_xlat10.x);
					        u_xlat0.x = min(u_xlat10.z, u_xlat0.x);
					        u_xlat10.xyz = u_xlat1.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * u_xlat0.xxx + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat7.xyz;
					    }
					    u_xlat0.x = (-u_xlat3.x) * 0.699999988 + 1.70000005;
					    u_xlat0.x = u_xlat0.x * u_xlat3.x;
					    u_xlat0.x = u_xlat0.x * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat0.x);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat7.xyz;
					            u_xlat12.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat1.xyz = u_xlat1.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat7.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat1.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat7.xyz, u_xlat0.x);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat1.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat7.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat1.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat7.xyz + u_xlat1.xyz;
					    }
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat0.x = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46) + _WorldSpaceLightPos0.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = max(u_xlat46, 0.00100000005);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat6.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat6.xyz, u_xlat15.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat15.x = dot(_WorldSpaceLightPos0.xyz, u_xlat15.xyz);
					    u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = dot(vec2(u_xlat30), u_xlat3.xx);
					    u_xlat30 = u_xlat30 + -0.5;
					    u_xlat45 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat45 * u_xlat45;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat45 = u_xlat45 * u_xlat32;
					    u_xlat45 = u_xlat30 * u_xlat45 + 1.0;
					    u_xlat32 = -abs(u_xlat46) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat30 = u_xlat30 * u_xlat32 + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat45;
					    u_xlat30 = u_xlat2.x * u_xlat30;
					    u_xlat45 = u_xlat3.x * u_xlat3.x;
					    u_xlat45 = max(u_xlat45, 0.00200000009);
					    u_xlat47 = (-u_xlat45) + 1.0;
					    u_xlat3.x = abs(u_xlat46) * u_xlat47 + u_xlat45;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat45;
					    u_xlat46 = abs(u_xlat46) * u_xlat47;
					    u_xlat46 = u_xlat2.x * u_xlat3.x + u_xlat46;
					    u_xlat46 = u_xlat46 + 9.99999975e-06;
					    u_xlat46 = 0.5 / u_xlat46;
					    u_xlat47 = u_xlat45 * u_xlat45;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat46 = u_xlat46 * u_xlat17;
					    u_xlat46 = u_xlat46 * 3.14159274;
					    u_xlat46 = u_xlat2.x * u_xlat46;
					    u_xlat46 = max(u_xlat46, 0.0);
					    u_xlat45 = u_xlat45 * u_xlat45 + 1.0;
					    u_xlat45 = float(1.0) / u_xlat45;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat46 = u_xlat46 * u_xlat2.x;
					    u_xlat0.x = (-u_xlat0.x) + u_xlat5.w;
					    u_xlat0.x = u_xlat0.x + 1.0;
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat30) * u_xlat8.xyz;
					    u_xlat2.xyw = u_xlat18.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat15.x = (-u_xlat15.x) + 1.0;
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat15.x = u_xlat15.x * u_xlat30;
					    u_xlat5.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat15.xxx + u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat15.xyz = u_xlat1.xyz * vec3(u_xlat45);
					    u_xlat1.xyz = (-u_xlat7.xyz) + u_xlat0.xxx;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat15.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_10_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					vec3 u_xlat15;
					int u_xlati15;
					float u_xlat17;
					vec3 u_xlat18;
					float u_xlat30;
					float u_xlat32;
					float u_xlat33;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat1.x = vs_TEXCOORD1.w;
					    u_xlat1.y = vs_TEXCOORD2.w;
					    u_xlat1.z = vs_TEXCOORD3.w;
					    u_xlati15 = unity_StereoEyeIndex;
					    u_xlat15.xyz = (-u_xlat1.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati15].xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat2.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat47 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat47 = min(u_xlat47, 1.0);
					    u_xlat47 = (-u_xlat47) + 1.0;
					    u_xlat3.z = sqrt(u_xlat47);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat15.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat1.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati0 = u_xlati0 * 7;
					    u_xlatb48 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb48){
					        u_xlatb49 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb49)) ? u_xlat6.xyz : u_xlat1.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat49 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat35 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat49, u_xlat35);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.wwww;
					    }
					    u_xlat49 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat47 = u_xlat47 + u_xlat6.x;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat47 = min(u_xlat49, u_xlat47);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat3.x = (-u_xlat5.w) + 1.0;
					    u_xlat18.x = dot((-u_xlat2.xyz), u_xlat6.xyz);
					    u_xlat18.x = u_xlat18.x + u_xlat18.x;
					    u_xlat7.xyz = u_xlat6.xyz * (-u_xlat18.xxx) + (-u_xlat2.xyz);
					    u_xlat8.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    if(u_xlatb48){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat18.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat18.xyz;
					        u_xlat18.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat18.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat18.xyz = (bool(u_xlatb47)) ? u_xlat18.xyz : u_xlat1.xyz;
					        u_xlat18.xyz = u_xlat18.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat9.yzw = u_xlat18.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat9.y * 0.25;
					        u_xlat18.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat33 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat18.x);
					        u_xlat9.x = min(u_xlat33, u_xlat47);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat9.xzw);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat11 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat18.xyz = u_xlat9.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat18.xyz);
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(u_xlat10, u_xlat6);
					        u_xlat10.y = dot(u_xlat11, u_xlat6);
					        u_xlat10.z = dot(u_xlat9, u_xlat6);
					    } else {
					        u_xlat6.w = 1.0;
					        u_xlat10.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat6);
					        u_xlat10.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat6);
					        u_xlat10.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat6);
					    }
					    u_xlat18.xyz = u_xlat10.xyz + vs_TEXCOORD4.xyz;
					    u_xlat18.xyz = max(u_xlat18.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb0 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb0){
					        u_xlat0.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					        u_xlat0.x = inversesqrt(u_xlat0.x);
					        u_xlat9.xyz = u_xlat0.xxx * u_xlat7.xyz;
					        u_xlat10.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat1.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat0.x = min(u_xlat10.y, u_xlat10.x);
					        u_xlat0.x = min(u_xlat10.z, u_xlat0.x);
					        u_xlat10.xyz = u_xlat1.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * u_xlat0.xxx + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat7.xyz;
					    }
					    u_xlat0.x = (-u_xlat3.x) * 0.699999988 + 1.70000005;
					    u_xlat0.x = u_xlat0.x * u_xlat3.x;
					    u_xlat0.x = u_xlat0.x * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat0.x);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat7.xyz;
					            u_xlat12.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat1.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat1.xyz = u_xlat1.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat7.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat1.xyz;
					        }
					        u_xlat7 = textureLod(unity_SpecCube1, u_xlat7.xyz, u_xlat0.x);
					        u_xlat0.x = u_xlat7.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat1.xyz = u_xlat7.xyz * u_xlat0.xxx;
					        u_xlat7.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat1.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat7.xyz + u_xlat1.xyz;
					    }
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat0.x = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46) + _WorldSpaceLightPos0.xyz;
					    u_xlat46 = dot(u_xlat15.xyz, u_xlat15.xyz);
					    u_xlat46 = max(u_xlat46, 0.00100000005);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat15.xyz = u_xlat15.xyz * vec3(u_xlat46);
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat6.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat6.xyz, u_xlat15.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat15.x = dot(_WorldSpaceLightPos0.xyz, u_xlat15.xyz);
					    u_xlat15.x = clamp(u_xlat15.x, 0.0, 1.0);
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = dot(vec2(u_xlat30), u_xlat3.xx);
					    u_xlat30 = u_xlat30 + -0.5;
					    u_xlat45 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat45 * u_xlat45;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat45 = u_xlat45 * u_xlat32;
					    u_xlat45 = u_xlat30 * u_xlat45 + 1.0;
					    u_xlat32 = -abs(u_xlat46) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat30 = u_xlat30 * u_xlat32 + 1.0;
					    u_xlat30 = u_xlat30 * u_xlat45;
					    u_xlat30 = u_xlat2.x * u_xlat30;
					    u_xlat45 = u_xlat3.x * u_xlat3.x;
					    u_xlat45 = max(u_xlat45, 0.00200000009);
					    u_xlat47 = (-u_xlat45) + 1.0;
					    u_xlat3.x = abs(u_xlat46) * u_xlat47 + u_xlat45;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat45;
					    u_xlat46 = abs(u_xlat46) * u_xlat47;
					    u_xlat46 = u_xlat2.x * u_xlat3.x + u_xlat46;
					    u_xlat46 = u_xlat46 + 9.99999975e-06;
					    u_xlat46 = 0.5 / u_xlat46;
					    u_xlat47 = u_xlat45 * u_xlat45;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat46 = u_xlat46 * u_xlat17;
					    u_xlat46 = u_xlat46 * 3.14159274;
					    u_xlat46 = u_xlat2.x * u_xlat46;
					    u_xlat46 = max(u_xlat46, 0.0);
					    u_xlat45 = u_xlat45 * u_xlat45 + 1.0;
					    u_xlat45 = float(1.0) / u_xlat45;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat46 = u_xlat46 * u_xlat2.x;
					    u_xlat0.x = (-u_xlat0.x) + u_xlat5.w;
					    u_xlat0.x = u_xlat0.x + 1.0;
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat30) * u_xlat8.xyz;
					    u_xlat2.xyw = u_xlat18.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat15.x = (-u_xlat15.x) + 1.0;
					    u_xlat30 = u_xlat15.x * u_xlat15.x;
					    u_xlat30 = u_xlat30 * u_xlat30;
					    u_xlat15.x = u_xlat15.x * u_xlat30;
					    u_xlat5.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat15.xxx + u_xlat7.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat15.xyz = u_xlat1.xyz * vec3(u_xlat45);
					    u_xlat1.xyz = (-u_xlat7.xyz) + u_xlat0.xxx;
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat15.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_9_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat48 = u_xlat48 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat48 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlati46 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati46 = u_xlati46 * 7;
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat3);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat3);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_10_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat48 = u_xlat48 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat48 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlati46 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati46 = u_xlati46 * 7;
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat3);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat3);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_9_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat46 = u_xlat46 + u_xlat6.x;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat46 = min(u_xlat48, u_xlat46);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlati46 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati46 = u_xlati46 * 7;
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat3);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat3);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_10_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					bool u_xlatb48;
					float u_xlat49;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb48 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb48)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat48 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat48, u_xlat49);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat48 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat46 = u_xlat46 + u_xlat6.x;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat46 = min(u_xlat48, u_xlat46);
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat3.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat3.x = inversesqrt(u_xlat3.x);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat6.xyz;
					    u_xlat49 = (-u_xlat5.w) + 1.0;
					    u_xlat35 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat35 = u_xlat35 + u_xlat35;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat35)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    if(u_xlatb47){
					        u_xlatb46 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb46)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat46 = u_xlat8.y * 0.25;
					        u_xlat47 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat46 = max(u_xlat46, u_xlat47);
					        u_xlat8.x = min(u_xlat35, u_xlat46);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlati46 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati46 = u_xlati46 * 7;
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat3);
					        u_xlat9.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat3);
					        u_xlat9.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat3);
					    }
					    u_xlat8.xyz = u_xlat9.xyz + vs_TEXCOORD4.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat49) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat49;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat47 = u_xlat9.w + -1.0;
					    u_xlat47 = unity_SpecCube0_HDR.w * u_xlat47 + 1.0;
					    u_xlat47 = log2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlatb48 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb48){
					        u_xlatb48 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb48){
					            u_xlat48 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat48 = inversesqrt(u_xlat48);
					            u_xlat11.xyz = vec3(u_xlat48) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat48 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat48 = min(u_xlat12.z, u_xlat48);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat48) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat47) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat49));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat47 = u_xlat32 * u_xlat32;
					    u_xlat47 = u_xlat47 * u_xlat47;
					    u_xlat32 = u_xlat32 * u_xlat47;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat49 * u_xlat49;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.x = unity_MatrixV[0].z;
					    u_xlat6.y = unity_MatrixV[1].z;
					    u_xlat6.z = unity_MatrixV[2].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat47 = u_xlat47 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat47 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD6;
					in  vec4 vs_TEXCOORD7;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					int u_xlati46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlati46 = unity_StereoEyeIndex << 2;
					    u_xlat6.x = unity_StereoMatrixV[u_xlati46 / 4][u_xlati46 % 4].z;
					    u_xlat6.y = unity_StereoMatrixV[(u_xlati46 + 1) / 4][(u_xlati46 + 1) % 4].z;
					    u_xlat6.z = unity_StereoMatrixV[(u_xlati46 + 2) / 4][(u_xlati46 + 2) % 4].z;
					    u_xlat46 = dot(u_xlat1.xyz, u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = sqrt(u_xlat47);
					    u_xlat47 = (-u_xlat46) + u_xlat47;
					    u_xlat46 = unity_ShadowFadeCenterAndType.w * u_xlat47 + u_xlat46;
					    u_xlat46 = u_xlat46 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.xyz = (bool(u_xlatb47)) ? u_xlat6.xyz : u_xlat0.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat6.yzw = u_xlat6.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat6.y * 0.25 + 0.75;
					        u_xlat48 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat6.x = max(u_xlat47, u_xlat48);
					        u_xlat6 = texture(unity_ProbeVolumeSH, u_xlat6.xzw);
					    } else {
					        u_xlat6.x = float(1.0);
					        u_xlat6.y = float(1.0);
					        u_xlat6.z = float(1.0);
					        u_xlat6.w = float(1.0);
					    }
					    u_xlat47 = dot(u_xlat6, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat47 = u_xlat47 + (-u_xlat6.x);
					    u_xlat46 = u_xlat46 * u_xlat47 + u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat47 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat47 = inversesqrt(u_xlat47);
					    u_xlat3.xyz = vec3(u_xlat47) * u_xlat6.xyz;
					    u_xlat47 = (-u_xlat5.w) + 1.0;
					    u_xlat48 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat48 = u_xlat48 + u_xlat48;
					    u_xlat6.xyz = u_xlat3.xyz * (-vec3(u_xlat48)) + (-u_xlat2.xyz);
					    u_xlat7.xyz = vec3(u_xlat46) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_DynamicLightmap, vs_TEXCOORD7.zw);
					    u_xlat46 = u_xlat8.w * unity_DynamicLightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat46);
					    u_xlat8.xyz = log2(u_xlat8.xyz);
					    u_xlat8.xyz = u_xlat8.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat8.xyz = exp2(u_xlat8.xyz);
					    u_xlat9 = texture(unity_DynamicDirectionality, vs_TEXCOORD7.zw);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat46 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat46 = u_xlat46 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat46) * u_xlat8.xyz;
					    u_xlat46 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat46);
					    u_xlatb46 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb46){
					        u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					        u_xlat46 = inversesqrt(u_xlat46);
					        u_xlat9.xyz = vec3(u_xlat46) * u_xlat6.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat46 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat46 = min(u_xlat10.z, u_xlat46);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat46) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat6.xyz;
					    }
					    u_xlat46 = (-u_xlat47) * 0.699999988 + 1.70000005;
					    u_xlat46 = u_xlat46 * u_xlat47;
					    u_xlat46 = u_xlat46 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat46);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat6.xyz, u_xlat6.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat6.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat6.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat6.xyz, u_xlat46);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat46 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat46) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat47));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat47 * u_xlat47;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat47 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat47 + u_xlat31;
					    u_xlat47 = u_xlat2.x * u_xlat47 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat47;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat47 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat47 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat47 = u_xlat47 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat17 = u_xlat47 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat17;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat2.x = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb2 = u_xlat2.x!=0.0;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat2.x;
					    u_xlat46 = (-u_xlat46) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat47) + u_xlat49;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat49 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat49 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat47) + u_xlat49;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat49 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat49 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					int u_xlati47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlati47 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati47 / 4][u_xlati47 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati47 + 1) / 4][(u_xlati47 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati47 + 2) / 4][(u_xlati47 + 2) % 4].z;
					    u_xlat47 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat48 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat48 = sqrt(u_xlat48);
					    u_xlat48 = (-u_xlat47) + u_xlat48;
					    u_xlat47 = unity_ShadowFadeCenterAndType.w * u_xlat48 + u_xlat47;
					    u_xlat47 = u_xlat47 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat48 = (-u_xlat6.x) + 1.0;
					    u_xlat47 = u_xlat47 * u_xlat48 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					int u_xlati40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlati40 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati40 / 4][u_xlati40 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati40 + 1) / 4][(u_xlati40 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati40 + 2) / 4][(u_xlati40 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec3 u_xlat19;
					float u_xlat27;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb14 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb14){
					        u_xlatb14 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat14.xyz = (bool(u_xlatb14)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat14.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat7.y * 0.25;
					        u_xlat27 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat40 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat14.x = max(u_xlat27, u_xlat14.x);
					        u_xlat7.x = min(u_xlat40, u_xlat14.x);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat14.x = u_xlat3.y * u_xlat3.y;
					    u_xlat14.x = u_xlat3.x * u_xlat3.x + (-u_xlat14.x);
					    u_xlat14.xyz = unity_SHC.xyz * u_xlat14.xxx + u_xlat9.xyz;
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat8.xyz;
					    u_xlat14.xyz = max(u_xlat14.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat41 = log2(u_xlat7.w);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat41) * u_xlat7.xyz;
					    u_xlat41 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat41);
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat7.xyz;
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_2_9[2];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec3 u_xlat19;
					float u_xlat27;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					int u_xlati40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlati40 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati40 / 4][u_xlati40 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati40 + 1) / 4][(u_xlati40 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati40 + 2) / 4][(u_xlati40 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlatb14 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb14){
					        u_xlatb14 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat14.xyz = (bool(u_xlatb14)) ? u_xlat7.xyz : u_xlat0.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat14.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat7.y * 0.25;
					        u_xlat27 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat40 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat14.x = max(u_xlat27, u_xlat14.x);
					        u_xlat7.x = min(u_xlat40, u_xlat14.x);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat14.xyz = u_xlat7.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat14.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(u_xlat8, u_xlat3);
					        u_xlat8.y = dot(u_xlat9, u_xlat3);
					        u_xlat8.z = dot(u_xlat7, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat8.x = dot(unity_SHAr, u_xlat3);
					        u_xlat8.y = dot(unity_SHAg, u_xlat3);
					        u_xlat8.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat7 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat9.x = dot(unity_SHBr, u_xlat7);
					    u_xlat9.y = dot(unity_SHBg, u_xlat7);
					    u_xlat9.z = dot(unity_SHBb, u_xlat7);
					    u_xlat14.x = u_xlat3.y * u_xlat3.y;
					    u_xlat14.x = u_xlat3.x * u_xlat3.x + (-u_xlat14.x);
					    u_xlat14.xyz = unity_SHC.xyz * u_xlat14.xxx + u_xlat9.xyz;
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat8.xyz;
					    u_xlat14.xyz = max(u_xlat14.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat41 = log2(u_xlat7.w);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_Lightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlat8 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat41) * u_xlat7.xyz;
					    u_xlat41 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat41);
					    u_xlat14.xyz = u_xlat14.xyz + u_xlat7.xyz;
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[9];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					float u_xlat40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_6_0[5];
						vec4 unity_ShadowColor;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bvec3 u_xlatb10;
					vec3 u_xlat11;
					bvec3 u_xlatb12;
					vec3 u_xlat14;
					vec3 u_xlat19;
					float u_xlat39;
					int u_xlati39;
					float u_xlat40;
					int u_xlati40;
					bool u_xlatb40;
					float u_xlat41;
					float u_xlat42;
					bool u_xlatb42;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati39 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati39].xyz;
					    u_xlat39 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat39 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat39 = min(u_xlat39, 1.0);
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat3.z = sqrt(u_xlat39);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat39 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat39 = inversesqrt(u_xlat39);
					    u_xlat3.xyz = vec3(u_xlat39) * u_xlat7.xyz;
					    u_xlat39 = (-u_xlat5.w) + 1.0;
					    u_xlat40 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat40 = u_xlat40 + u_xlat40;
					    u_xlat19.xyz = u_xlat3.xyz * (-vec3(u_xlat40)) + (-u_xlat2.xyz);
					    u_xlati40 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati40 / 4][u_xlati40 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati40 + 1) / 4][(u_xlati40 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati40 + 2) / 4][(u_xlati40 + 2) % 4].z;
					    u_xlat1.x = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat14.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat14.x = dot(u_xlat14.xyz, u_xlat14.xyz);
					    u_xlat14.x = sqrt(u_xlat14.x);
					    u_xlat14.x = (-u_xlat1.x) + u_xlat14.x;
					    u_xlat1.x = unity_ShadowFadeCenterAndType.w * u_xlat14.x + u_xlat1.x;
					    u_xlat1.x = u_xlat1.x * _LightShadowData.z + _LightShadowData.w;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat1.x = u_xlat1.x + u_xlat6.x;
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat7 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat14.x = log2(u_xlat7.w);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.y;
					    u_xlat14.x = exp2(u_xlat14.x);
					    u_xlat14.x = u_xlat14.x * unity_Lightmap_HDR.x;
					    u_xlat14.xyz = u_xlat7.xyz * u_xlat14.xxx;
					    u_xlat7 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat7.xyz = u_xlat7.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat41 = dot(u_xlat3.xyz, u_xlat7.xyz);
					    u_xlat41 = u_xlat41 + 0.5;
					    u_xlat14.xyz = u_xlat14.xyz * vec3(u_xlat41);
					    u_xlat41 = max(u_xlat7.w, 9.99999975e-05);
					    u_xlat14.xyz = u_xlat14.xyz / vec3(u_xlat41);
					    u_xlat41 = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat41 = max(u_xlat41, 0.0);
					    u_xlat1.x = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat1.x * u_xlat41;
					    u_xlat7.xyz = (-u_xlat1.xxx) * _LightColor0.xyz + u_xlat14.xyz;
					    u_xlat7.xyz = max(u_xlat7.xyz, unity_ShadowColor.xyz);
					    u_xlat8.xyz = u_xlat14.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = _LightShadowData.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = min(u_xlat14.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat40 = u_xlat7.w * unity_DynamicLightmap_HDR.x;
					    u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40);
					    u_xlat7.xyz = log2(u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat7.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat7.xyz = exp2(u_xlat7.xyz);
					    u_xlat8 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat8.xyz = u_xlat8.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat40 = dot(u_xlat3.xyz, u_xlat8.xyz);
					    u_xlat40 = u_xlat40 + 0.5;
					    u_xlat7.xyz = vec3(u_xlat40) * u_xlat7.xyz;
					    u_xlat40 = max(u_xlat8.w, 9.99999975e-05);
					    u_xlat7.xyz = u_xlat7.xyz / vec3(u_xlat40);
					    u_xlat1.xyz = u_xlat1.xyz + u_xlat7.xyz;
					    u_xlat1.xyz = u_xlat5.yyy * u_xlat1.xyz;
					    u_xlatb40 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb40){
					        u_xlat40 = dot(u_xlat19.xyz, u_xlat19.xyz);
					        u_xlat40 = inversesqrt(u_xlat40);
					        u_xlat7.xyz = vec3(u_xlat40) * u_xlat19.xyz;
					        u_xlat8.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat8.xyz = u_xlat8.xyz / u_xlat7.xyz;
					        u_xlat9.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat9.xyz = u_xlat9.xyz / u_xlat7.xyz;
					        u_xlatb10.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat7.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat8;
					            hlslcc_movcTemp.x = (u_xlatb10.x) ? u_xlat8.x : u_xlat9.x;
					            hlslcc_movcTemp.y = (u_xlatb10.y) ? u_xlat8.y : u_xlat9.y;
					            hlslcc_movcTemp.z = (u_xlatb10.z) ? u_xlat8.z : u_xlat9.z;
					            u_xlat8 = hlslcc_movcTemp;
					        }
					        u_xlat40 = min(u_xlat8.y, u_xlat8.x);
					        u_xlat40 = min(u_xlat8.z, u_xlat40);
					        u_xlat8.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat7.xyz = u_xlat7.xyz * vec3(u_xlat40) + u_xlat8.xyz;
					    } else {
					        u_xlat7.xyz = u_xlat19.xyz;
					    }
					    u_xlat40 = (-u_xlat39) * 0.699999988 + 1.70000005;
					    u_xlat40 = u_xlat39 * u_xlat40;
					    u_xlat40 = u_xlat40 * 6.0;
					    u_xlat7 = textureLod(unity_SpecCube0, u_xlat7.xyz, u_xlat40);
					    u_xlat41 = u_xlat7.w + -1.0;
					    u_xlat41 = unity_SpecCube0_HDR.w * u_xlat41 + 1.0;
					    u_xlat41 = log2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.y;
					    u_xlat41 = exp2(u_xlat41);
					    u_xlat41 = u_xlat41 * unity_SpecCube0_HDR.x;
					    u_xlat8.xyz = u_xlat7.xyz * vec3(u_xlat41);
					    u_xlatb42 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb42){
					        u_xlatb42 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb42){
					            u_xlat42 = dot(u_xlat19.xyz, u_xlat19.xyz);
					            u_xlat42 = inversesqrt(u_xlat42);
					            u_xlat9.xyz = vec3(u_xlat42) * u_xlat19.xyz;
					            u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					            u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					            u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat10;
					                hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					                hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					                hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					                u_xlat10 = hlslcc_movcTemp;
					            }
					            u_xlat42 = min(u_xlat10.y, u_xlat10.x);
					            u_xlat42 = min(u_xlat10.z, u_xlat42);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat19.xyz = u_xlat9.xyz * vec3(u_xlat42) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat19.xyz, u_xlat40);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat41) * u_xlat7.xyz + (-u_xlat0.xyz);
					        u_xlat8.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat8.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat40 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat40) * u_xlat4.xyz;
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat39 = u_xlat39 * u_xlat39;
					    u_xlat39 = max(u_xlat39, 0.00200000009);
					    u_xlat39 = u_xlat39 * u_xlat39 + 1.0;
					    u_xlat39 = float(1.0) / u_xlat39;
					    u_xlat40 = (-u_xlat40) + u_xlat5.w;
					    u_xlat40 = u_xlat40 + 1.0;
					    u_xlat40 = clamp(u_xlat40, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat39);
					    u_xlat39 = -abs(u_xlat2.x) + 1.0;
					    u_xlat2.x = u_xlat39 * u_xlat39;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat39 = u_xlat39 * u_xlat2.x;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(u_xlat40);
					    u_xlat2.xyz = vec3(u_xlat39) * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat39 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat39 = (-u_xlat39) + 1.0;
					    u_xlat39 = u_xlat39 * _ProjectionParams.z;
					    u_xlat39 = max(u_xlat39, 0.0);
					    u_xlat39 = u_xlat39 * unity_FogParams.x;
					    u_xlat39 = u_xlat39 * (-u_xlat39);
					    u_xlat39 = exp2(u_xlat39);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat39) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat49 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					int u_xlati49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati49 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati49 / 4][u_xlati49 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati49 + 1) / 4][(u_xlati49 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati49 + 2) / 4][(u_xlati49 + 2) % 4].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat49 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = (-u_xlat6.x) + u_xlat47;
					    u_xlat47 = u_xlat48 * u_xlat47 + u_xlat6.x;
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec3 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat49 = u_xlat49 + u_xlat6.x;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat49);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "LIGHTPROBE_SH" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[38];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_10;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat35;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					int u_xlati49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati49 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati49 / 4][u_xlati49 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati49 + 1) / 4][(u_xlati49 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati49 + 2) / 4][(u_xlati49 + 2) % 4].z;
					    u_xlat49 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat35 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat35 = sqrt(u_xlat35);
					    u_xlat35 = (-u_xlat49) + u_xlat35;
					    u_xlat49 = unity_ShadowFadeCenterAndType.w * u_xlat35 + u_xlat49;
					    u_xlat49 = u_xlat49 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat49 = u_xlat49 + u_xlat6.x;
					    u_xlat49 = clamp(u_xlat49, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat49);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlatb47 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb47){
					        u_xlatb47 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat8.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat8.xyz;
					        u_xlat8.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat8.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.xyz = (bool(u_xlatb47)) ? u_xlat8.xyz : u_xlat0.xyz;
					        u_xlat8.xyz = u_xlat8.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat8.yzw = u_xlat8.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat47 = u_xlat8.y * 0.25;
					        u_xlat49 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat35 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat47 = max(u_xlat47, u_xlat49);
					        u_xlat8.x = min(u_xlat35, u_xlat47);
					        u_xlat9 = texture(unity_ProbeVolumeSH, u_xlat8.xzw);
					        u_xlat10.xyz = u_xlat8.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat10 = texture(unity_ProbeVolumeSH, u_xlat10.xyz);
					        u_xlat8.xyz = u_xlat8.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat8 = texture(unity_ProbeVolumeSH, u_xlat8.xyz);
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(u_xlat9, u_xlat3);
					        u_xlat9.y = dot(u_xlat10, u_xlat3);
					        u_xlat9.z = dot(u_xlat8, u_xlat3);
					    } else {
					        u_xlat3.w = 1.0;
					        u_xlat9.x = dot(unity_SHAr, u_xlat3);
					        u_xlat9.y = dot(unity_SHAg, u_xlat3);
					        u_xlat9.z = dot(unity_SHAb, u_xlat3);
					    }
					    u_xlat8 = u_xlat3.yzzx * u_xlat3.xyzz;
					    u_xlat10.x = dot(unity_SHBr, u_xlat8);
					    u_xlat10.y = dot(unity_SHBg, u_xlat8);
					    u_xlat10.z = dot(unity_SHBb, u_xlat8);
					    u_xlat47 = u_xlat3.y * u_xlat3.y;
					    u_xlat47 = u_xlat3.x * u_xlat3.x + (-u_xlat47);
					    u_xlat8.xyz = unity_SHC.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlat8.xyz = max(u_xlat8.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat9 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat9.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat10 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlat1.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlat7.x = unity_MatrixV[0].z;
					    u_xlat7.y = unity_MatrixV[1].z;
					    u_xlat7.z = unity_MatrixV[2].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "FOG_EXP2" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 _LightColor0;
						vec4 unused_0_3;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unity_FogColor;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityReflectionProbes {
						vec4 unity_SpecCube0_BoxMax;
						vec4 unity_SpecCube0_BoxMin;
						vec4 unity_SpecCube0_ProbePosition;
						vec4 unity_SpecCube0_HDR;
						vec4 unity_SpecCube1_BoxMax;
						vec4 unity_SpecCube1_BoxMin;
						vec4 unity_SpecCube1_ProbePosition;
						vec4 unity_SpecCube1_HDR;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  samplerCube unity_SpecCube0;
					uniform  samplerCube unity_SpecCube1;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD5;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec3 u_xlat11;
					vec3 u_xlat12;
					bvec3 u_xlatb12;
					vec3 u_xlat13;
					bvec3 u_xlatb14;
					float u_xlat16;
					float u_xlat17;
					vec3 u_xlat21;
					float u_xlat31;
					float u_xlat32;
					float u_xlat45;
					int u_xlati45;
					float u_xlat46;
					bool u_xlatb46;
					float u_xlat47;
					bool u_xlatb47;
					float u_xlat48;
					int u_xlati48;
					float u_xlat49;
					bool u_xlatb49;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD1.w;
					    u_xlat0.y = vs_TEXCOORD2.w;
					    u_xlat0.z = vs_TEXCOORD3.w;
					    u_xlati45 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati45].xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat2.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat46 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat46 = min(u_xlat46, 1.0);
					    u_xlat46 = (-u_xlat46) + 1.0;
					    u_xlat3.z = sqrt(u_xlat46);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat6 = texture(_ShadowMapTexture, u_xlat6.xy);
					    u_xlat7.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat7.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat7.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat46 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat46 = inversesqrt(u_xlat46);
					    u_xlat3.xyz = vec3(u_xlat46) * u_xlat7.xyz;
					    u_xlat46 = (-u_xlat5.w) + 1.0;
					    u_xlat47 = dot((-u_xlat2.xyz), u_xlat3.xyz);
					    u_xlat47 = u_xlat47 + u_xlat47;
					    u_xlat21.xyz = u_xlat3.xyz * (-vec3(u_xlat47)) + (-u_xlat2.xyz);
					    u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD4.xy);
					    u_xlat47 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat47 = clamp(u_xlat47, 0.0, 1.0);
					    u_xlati48 = unity_StereoEyeIndex << 2;
					    u_xlat7.x = unity_StereoMatrixV[u_xlati48 / 4][u_xlati48 % 4].z;
					    u_xlat7.y = unity_StereoMatrixV[(u_xlati48 + 1) / 4][(u_xlati48 + 1) % 4].z;
					    u_xlat7.z = unity_StereoMatrixV[(u_xlati48 + 2) / 4][(u_xlati48 + 2) % 4].z;
					    u_xlat48 = dot(u_xlat1.xyz, u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat0.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat49 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat49 = sqrt(u_xlat49);
					    u_xlat49 = (-u_xlat48) + u_xlat49;
					    u_xlat48 = unity_ShadowFadeCenterAndType.w * u_xlat49 + u_xlat48;
					    u_xlat48 = u_xlat48 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat48 = u_xlat48 + u_xlat6.x;
					    u_xlat48 = clamp(u_xlat48, 0.0, 1.0);
					    u_xlat47 = min(u_xlat47, u_xlat48);
					    u_xlat7.xyz = vec3(u_xlat47) * _LightColor0.xyz;
					    u_xlat8 = texture(unity_Lightmap, vs_TEXCOORD4.xy);
					    u_xlat47 = log2(u_xlat8.w);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.y;
					    u_xlat47 = exp2(u_xlat47);
					    u_xlat47 = u_xlat47 * unity_Lightmap_HDR.x;
					    u_xlat8.xyz = u_xlat8.xyz * vec3(u_xlat47);
					    u_xlat9 = texture(unity_LightmapInd, vs_TEXCOORD4.xy);
					    u_xlat9.xyz = u_xlat9.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat9.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat8.xyz = vec3(u_xlat47) * u_xlat8.xyz;
					    u_xlat47 = max(u_xlat9.w, 9.99999975e-05);
					    u_xlat8.xyz = u_xlat8.xyz / vec3(u_xlat47);
					    u_xlat9 = texture(unity_DynamicLightmap, vs_TEXCOORD4.zw);
					    u_xlat47 = u_xlat9.w * unity_DynamicLightmap_HDR.x;
					    u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47);
					    u_xlat9.xyz = log2(u_xlat9.xyz);
					    u_xlat9.xyz = u_xlat9.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat9.xyz = exp2(u_xlat9.xyz);
					    u_xlat10 = texture(unity_DynamicDirectionality, vs_TEXCOORD4.zw);
					    u_xlat10.xyz = u_xlat10.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat47 = dot(u_xlat3.xyz, u_xlat10.xyz);
					    u_xlat47 = u_xlat47 + 0.5;
					    u_xlat9.xyz = vec3(u_xlat47) * u_xlat9.xyz;
					    u_xlat47 = max(u_xlat10.w, 9.99999975e-05);
					    u_xlat9.xyz = u_xlat9.xyz / vec3(u_xlat47);
					    u_xlat8.xyz = u_xlat8.xyz + u_xlat9.xyz;
					    u_xlatb47 = 0.0<unity_SpecCube0_ProbePosition.w;
					    if(u_xlatb47){
					        u_xlat47 = dot(u_xlat21.xyz, u_xlat21.xyz);
					        u_xlat47 = inversesqrt(u_xlat47);
					        u_xlat9.xyz = vec3(u_xlat47) * u_xlat21.xyz;
					        u_xlat10.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMax.xyz;
					        u_xlat10.xyz = u_xlat10.xyz / u_xlat9.xyz;
					        u_xlat11.xyz = (-u_xlat0.xyz) + unity_SpecCube0_BoxMin.xyz;
					        u_xlat11.xyz = u_xlat11.xyz / u_xlat9.xyz;
					        u_xlatb12.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat9.xyzx).xyz;
					        {
					            vec4 hlslcc_movcTemp = u_xlat10;
					            hlslcc_movcTemp.x = (u_xlatb12.x) ? u_xlat10.x : u_xlat11.x;
					            hlslcc_movcTemp.y = (u_xlatb12.y) ? u_xlat10.y : u_xlat11.y;
					            hlslcc_movcTemp.z = (u_xlatb12.z) ? u_xlat10.z : u_xlat11.z;
					            u_xlat10 = hlslcc_movcTemp;
					        }
					        u_xlat47 = min(u_xlat10.y, u_xlat10.x);
					        u_xlat47 = min(u_xlat10.z, u_xlat47);
					        u_xlat10.xyz = u_xlat0.xyz + (-unity_SpecCube0_ProbePosition.xyz);
					        u_xlat9.xyz = u_xlat9.xyz * vec3(u_xlat47) + u_xlat10.xyz;
					    } else {
					        u_xlat9.xyz = u_xlat21.xyz;
					    }
					    u_xlat47 = (-u_xlat46) * 0.699999988 + 1.70000005;
					    u_xlat47 = u_xlat46 * u_xlat47;
					    u_xlat47 = u_xlat47 * 6.0;
					    u_xlat9 = textureLod(unity_SpecCube0, u_xlat9.xyz, u_xlat47);
					    u_xlat48 = u_xlat9.w + -1.0;
					    u_xlat48 = unity_SpecCube0_HDR.w * u_xlat48 + 1.0;
					    u_xlat48 = log2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.y;
					    u_xlat48 = exp2(u_xlat48);
					    u_xlat48 = u_xlat48 * unity_SpecCube0_HDR.x;
					    u_xlat10.xyz = u_xlat9.xyz * vec3(u_xlat48);
					    u_xlatb49 = unity_SpecCube0_BoxMin.w<0.999989986;
					    if(u_xlatb49){
					        u_xlatb49 = 0.0<unity_SpecCube1_ProbePosition.w;
					        if(u_xlatb49){
					            u_xlat49 = dot(u_xlat21.xyz, u_xlat21.xyz);
					            u_xlat49 = inversesqrt(u_xlat49);
					            u_xlat11.xyz = vec3(u_xlat49) * u_xlat21.xyz;
					            u_xlat12.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMax.xyz;
					            u_xlat12.xyz = u_xlat12.xyz / u_xlat11.xyz;
					            u_xlat13.xyz = (-u_xlat0.xyz) + unity_SpecCube1_BoxMin.xyz;
					            u_xlat13.xyz = u_xlat13.xyz / u_xlat11.xyz;
					            u_xlatb14.xyz = lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat11.xyzx).xyz;
					            {
					                vec3 hlslcc_movcTemp = u_xlat12;
					                hlslcc_movcTemp.x = (u_xlatb14.x) ? u_xlat12.x : u_xlat13.x;
					                hlslcc_movcTemp.y = (u_xlatb14.y) ? u_xlat12.y : u_xlat13.y;
					                hlslcc_movcTemp.z = (u_xlatb14.z) ? u_xlat12.z : u_xlat13.z;
					                u_xlat12 = hlslcc_movcTemp;
					            }
					            u_xlat49 = min(u_xlat12.y, u_xlat12.x);
					            u_xlat49 = min(u_xlat12.z, u_xlat49);
					            u_xlat0.xyz = u_xlat0.xyz + (-unity_SpecCube1_ProbePosition.xyz);
					            u_xlat21.xyz = u_xlat11.xyz * vec3(u_xlat49) + u_xlat0.xyz;
					        }
					        u_xlat6 = textureLod(unity_SpecCube1, u_xlat21.xyz, u_xlat47);
					        u_xlat0.x = u_xlat6.w + -1.0;
					        u_xlat0.x = unity_SpecCube1_HDR.w * u_xlat0.x + 1.0;
					        u_xlat0.x = log2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.y;
					        u_xlat0.x = exp2(u_xlat0.x);
					        u_xlat0.x = u_xlat0.x * unity_SpecCube1_HDR.x;
					        u_xlat0.xyz = u_xlat6.xyz * u_xlat0.xxx;
					        u_xlat6.xyz = vec3(u_xlat48) * u_xlat9.xyz + (-u_xlat0.xyz);
					        u_xlat10.xyz = unity_SpecCube0_BoxMin.www * u_xlat6.xyz + u_xlat0.xyz;
					    }
					    u_xlat0.xyz = u_xlat5.yyy * u_xlat10.xyz;
					    u_xlat6.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat47 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat47) * u_xlat4.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat45) + _WorldSpaceLightPos0.xyz;
					    u_xlat45 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat45 = max(u_xlat45, 0.00100000005);
					    u_xlat45 = inversesqrt(u_xlat45);
					    u_xlat1.xyz = vec3(u_xlat45) * u_xlat1.xyz;
					    u_xlat45 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat17 = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat17 = clamp(u_xlat17, 0.0, 1.0);
					    u_xlat1.x = dot(_WorldSpaceLightPos0.xyz, u_xlat1.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat16 = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = dot(vec2(u_xlat16), vec2(u_xlat46));
					    u_xlat16 = u_xlat16 + -0.5;
					    u_xlat31 = (-u_xlat2.x) + 1.0;
					    u_xlat32 = u_xlat31 * u_xlat31;
					    u_xlat32 = u_xlat32 * u_xlat32;
					    u_xlat31 = u_xlat31 * u_xlat32;
					    u_xlat31 = u_xlat16 * u_xlat31 + 1.0;
					    u_xlat32 = -abs(u_xlat45) + 1.0;
					    u_xlat3.x = u_xlat32 * u_xlat32;
					    u_xlat3.x = u_xlat3.x * u_xlat3.x;
					    u_xlat32 = u_xlat32 * u_xlat3.x;
					    u_xlat16 = u_xlat16 * u_xlat32 + 1.0;
					    u_xlat16 = u_xlat16 * u_xlat31;
					    u_xlat16 = u_xlat2.x * u_xlat16;
					    u_xlat31 = u_xlat46 * u_xlat46;
					    u_xlat31 = max(u_xlat31, 0.00200000009);
					    u_xlat46 = (-u_xlat31) + 1.0;
					    u_xlat3.x = abs(u_xlat45) * u_xlat46 + u_xlat31;
					    u_xlat46 = u_xlat2.x * u_xlat46 + u_xlat31;
					    u_xlat45 = abs(u_xlat45) * u_xlat46;
					    u_xlat45 = u_xlat2.x * u_xlat3.x + u_xlat45;
					    u_xlat45 = u_xlat45 + 9.99999975e-06;
					    u_xlat45 = 0.5 / u_xlat45;
					    u_xlat46 = u_xlat31 * u_xlat31;
					    u_xlat3.x = u_xlat17 * u_xlat46 + (-u_xlat17);
					    u_xlat17 = u_xlat3.x * u_xlat17 + 1.0;
					    u_xlat46 = u_xlat46 * 0.318309873;
					    u_xlat17 = u_xlat17 * u_xlat17 + 1.00000001e-07;
					    u_xlat46 = u_xlat46 / u_xlat17;
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat45 = u_xlat45 * 3.14159274;
					    u_xlat45 = u_xlat2.x * u_xlat45;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat31 = u_xlat31 * u_xlat31 + 1.0;
					    u_xlat1.z = float(1.0) / u_xlat31;
					    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb46 = u_xlat46!=0.0;
					    u_xlat46 = u_xlatb46 ? 1.0 : float(0.0);
					    u_xlat45 = u_xlat45 * u_xlat46;
					    u_xlat46 = (-u_xlat47) + u_xlat5.w;
					    u_xlat46 = u_xlat46 + 1.0;
					    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
					    u_xlat2.xyw = vec3(u_xlat16) * u_xlat7.xyz;
					    u_xlat2.xyw = u_xlat8.xyz * u_xlat5.yyy + u_xlat2.xyw;
					    u_xlat3.xyz = u_xlat7.xyz * vec3(u_xlat45);
					    u_xlat0.w = (-u_xlat1.x) + 1.0;
					    u_xlat1.x = u_xlat0.w * u_xlat0.w;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat0 = u_xlat0 * u_xlat1.zzzx;
					    u_xlat5.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz * u_xlat0.www + u_xlat6.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat5.xyz;
					    u_xlat2.xyw = u_xlat4.xyz * u_xlat2.xyw + u_xlat3.xyz;
					    u_xlat1.xyz = (-u_xlat6.xyz) + vec3(u_xlat46);
					    u_xlat1.xyz = vec3(u_xlat32) * u_xlat1.xyz + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat45 = vs_TEXCOORD5 / _ProjectionParams.y;
					    u_xlat45 = (-u_xlat45) + 1.0;
					    u_xlat45 = u_xlat45 * _ProjectionParams.z;
					    u_xlat45 = max(u_xlat45, 0.0);
					    u_xlat45 = u_xlat45 * unity_FogParams.x;
					    u_xlat45 = u_xlat45 * (-u_xlat45);
					    u_xlat45 = exp2(u_xlat45);
					    u_xlat0.xyz = u_xlat0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(u_xlat45) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
			}
		}
		Pass {
			Name "FORWARD"
			Tags { "LIGHTMODE" = "FORWARDADD" "QUEUE" = "Geometry+0" "RenderType" = "Opaque" "SHADOWSUPPORT" = "true" }
			Blend One One, One One
			ZWrite Off
			GpuProgramID 109422
			Program "vp" {
				SubProgram "d3d11 " {
					Keywords { "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat0.zw;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD6.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat0.zw;
					    vs_TEXCOORD6.xy = u_xlat1.zz + u_xlat1.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati1 = unity_StereoEyeIndex;
					    u_xlat5.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat5.xy;
					    vs_TEXCOORD6.zw = u_xlat0.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat8 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat8) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD6.zw = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat8 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat8) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat8 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat8) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD6.zw = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat8 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat8) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat9 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat9 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat1.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat1.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat1.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat1.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[9];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1 = u_xlat0.yyyy * unity_WorldToLight[1];
					    u_xlat1 = unity_WorldToLight[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_WorldToLight[2] * u_xlat0.zzzz + u_xlat1;
					    vs_TEXCOORD5 = unity_WorldToLight[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD6.zw = u_xlat0.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat8 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat8) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD6.zw = u_xlat0.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat8 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat8) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD6.zw = u_xlat0.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat8 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat8) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD6.zw = u_xlat0.zw;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat8 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat8) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    vs_TEXCOORD6.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD6.zw = u_xlat1.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat8 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat8) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD6.zw = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat8 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat8) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat8 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat8) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat4 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat4 * 0.5;
					    vs_TEXCOORD6.zw = u_xlat0.zz + u_xlat0.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat8;
					int u_xlati8;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    vs_TEXCOORD7 = u_xlat0.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat8 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat8) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    u_xlat0.xy = u_xlat1.zz + u_xlat1.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat1.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat1.w = u_xlat0.x * 0.5;
					    vs_TEXCOORD6.zw = u_xlat1.zz + u_xlat1.xw;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_5_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec2 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD1;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					int u_xlati8;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    u_xlat2 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0.xy = u_xlat2.yy * unity_WorldToLight[1].xy;
					    u_xlat0.xy = unity_WorldToLight[0].xy * u_xlat2.xx + u_xlat0.xy;
					    u_xlat0.xy = unity_WorldToLight[2].xy * u_xlat2.zz + u_xlat0.xy;
					    vs_TEXCOORD5.xy = unity_WorldToLight[3].xy * u_xlat2.ww + u_xlat0.xy;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD7 = u_xlat1.z;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat12 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat0.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati8 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat1.ww * unity_StereoScaleOffset[u_xlati8].zw;
					    vs_TEXCOORD6.zw = u_xlat0.xy * unity_StereoScaleOffset[u_xlati8].xy + u_xlat1.xy;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_3_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[4];
						mat4x4 unity_WorldToLight;
						vec4 unused_0_2[8];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out float vs_TEXCOORD7;
					out vec3 vs_TEXCOORD1;
					out vec3 vs_TEXCOORD2;
					out vec3 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec3 vs_TEXCOORD5;
					out vec4 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					int u_xlati2;
					vec4 u_xlat3;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati2 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati2 + 1) / 4][(u_xlati2 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati2 / 4][u_xlati2 % 4] * u_xlat1.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati2 + 2) / 4][(u_xlati2 + 2) % 4] * u_xlat1.zzzz + u_xlat3;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati2 + 3) / 4][(u_xlati2 + 3) % 4] * u_xlat1.wwww + u_xlat3;
					    gl_Position = u_xlat1;
					    vs_TEXCOORD7 = u_xlat1.z;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat0 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat1.xyz = u_xlat0.yyy * unity_WorldToLight[1].xyz;
					    u_xlat1.xyz = unity_WorldToLight[0].xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.xyz = unity_WorldToLight[2].xyz * u_xlat0.zzz + u_xlat1.xyz;
					    vs_TEXCOORD5.xyz = unity_WorldToLight[3].xyz * u_xlat0.www + u_xlat0.xyz;
					    vs_TEXCOORD6.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD6.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					Keywords { "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7.x = float(1.0);
					        u_xlat7.y = float(1.0);
					        u_xlat7.z = float(1.0);
					        u_xlat7.w = float(1.0);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTexture0, vec2(u_xlat26));
					    u_xlat25 = u_xlat25 * u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7.x = float(1.0);
					        u_xlat7.y = float(1.0);
					        u_xlat7.z = float(1.0);
					        u_xlat7.w = float(1.0);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTexture0, vec2(u_xlat26));
					    u_xlat25 = u_xlat25 * u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat13;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat6 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat6;
					    u_xlat6 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat6;
					    u_xlat6 = u_xlat6 + unity_WorldToLight[3];
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7.x = float(1.0);
					        u_xlat7.y = float(1.0);
					        u_xlat7.z = float(1.0);
					        u_xlat7.w = float(1.0);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlatb26 = 0.0<u_xlat6.z;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat13.xy = u_xlat6.xy / u_xlat6.ww;
					    u_xlat13.xy = u_xlat13.xy + vec2(0.5, 0.5);
					    u_xlat7 = texture(_LightTexture0, u_xlat13.xy);
					    u_xlat26 = u_xlat26 * u_xlat7.w;
					    u_xlat27 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTextureB0, vec2(u_xlat27));
					    u_xlat26 = u_xlat26 * u_xlat6.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat13;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat6 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat6;
					    u_xlat6 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat6;
					    u_xlat6 = u_xlat6 + unity_WorldToLight[3];
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7.x = float(1.0);
					        u_xlat7.y = float(1.0);
					        u_xlat7.z = float(1.0);
					        u_xlat7.w = float(1.0);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlatb26 = 0.0<u_xlat6.z;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat13.xy = u_xlat6.xy / u_xlat6.ww;
					    u_xlat13.xy = u_xlat13.xy + vec2(0.5, 0.5);
					    u_xlat7 = texture(_LightTexture0, u_xlat13.xy);
					    u_xlat26 = u_xlat26 * u_xlat7.w;
					    u_xlat27 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTextureB0, vec2(u_xlat27));
					    u_xlat26 = u_xlat26 * u_xlat6.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7.x = float(1.0);
					        u_xlat7.y = float(1.0);
					        u_xlat7.z = float(1.0);
					        u_xlat7.w = float(1.0);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat7 = texture(_LightTextureB0, vec2(u_xlat26));
					    u_xlat6 = texture(_LightTexture0, u_xlat6.xyz);
					    u_xlat26 = u_xlat6.w * u_xlat7.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7.x = float(1.0);
					        u_xlat7.y = float(1.0);
					        u_xlat7.z = float(1.0);
					        u_xlat7.w = float(1.0);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat7 = texture(_LightTextureB0, vec2(u_xlat26));
					    u_xlat6 = texture(_LightTexture0, u_xlat6.xyz);
					    u_xlat26 = u_xlat6.w * u_xlat7.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTexture0, vec2(u_xlat26));
					    u_xlat25 = u_xlat25 * u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTexture0, vec2(u_xlat26));
					    u_xlat25 = u_xlat25 * u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat13;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat6 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat6;
					    u_xlat6 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat6;
					    u_xlat6 = u_xlat6 + unity_WorldToLight[3];
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlatb26 = 0.0<u_xlat6.z;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat13.xy = u_xlat6.xy / u_xlat6.ww;
					    u_xlat13.xy = u_xlat13.xy + vec2(0.5, 0.5);
					    u_xlat7 = texture(_LightTexture0, u_xlat13.xy);
					    u_xlat26 = u_xlat26 * u_xlat7.w;
					    u_xlat27 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTextureB0, vec2(u_xlat27));
					    u_xlat26 = u_xlat26 * u_xlat6.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat13;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat6 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat6;
					    u_xlat6 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat6;
					    u_xlat6 = u_xlat6 + unity_WorldToLight[3];
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlatb26 = 0.0<u_xlat6.z;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat13.xy = u_xlat6.xy / u_xlat6.ww;
					    u_xlat13.xy = u_xlat13.xy + vec2(0.5, 0.5);
					    u_xlat7 = texture(_LightTexture0, u_xlat13.xy);
					    u_xlat26 = u_xlat26 * u_xlat7.w;
					    u_xlat27 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTextureB0, vec2(u_xlat27));
					    u_xlat26 = u_xlat26 * u_xlat6.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat7 = texture(_LightTextureB0, vec2(u_xlat26));
					    u_xlat6 = texture(_LightTexture0, u_xlat6.xyz);
					    u_xlat26 = u_xlat6.w * u_xlat7.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat7 = texture(_LightTextureB0, vec2(u_xlat26));
					    u_xlat6 = texture(_LightTexture0, u_xlat6.xyz);
					    u_xlat26 = u_xlat6.w * u_xlat7.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTexture0, vec2(u_xlat26));
					    u_xlat25 = u_xlat25 * u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTexture0, vec2(u_xlat26));
					    u_xlat25 = u_xlat25 * u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat13;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat6 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat6;
					    u_xlat6 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat6;
					    u_xlat6 = u_xlat6 + unity_WorldToLight[3];
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlatb26 = 0.0<u_xlat6.z;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat13.xy = u_xlat6.xy / u_xlat6.ww;
					    u_xlat13.xy = u_xlat13.xy + vec2(0.5, 0.5);
					    u_xlat7 = texture(_LightTexture0, u_xlat13.xy);
					    u_xlat26 = u_xlat26 * u_xlat7.w;
					    u_xlat27 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTextureB0, vec2(u_xlat27));
					    u_xlat26 = u_xlat26 * u_xlat6.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat13;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat6 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat6;
					    u_xlat6 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat6;
					    u_xlat6 = u_xlat6 + unity_WorldToLight[3];
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlatb26 = 0.0<u_xlat6.z;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat13.xy = u_xlat6.xy / u_xlat6.ww;
					    u_xlat13.xy = u_xlat13.xy + vec2(0.5, 0.5);
					    u_xlat7 = texture(_LightTexture0, u_xlat13.xy);
					    u_xlat26 = u_xlat26 * u_xlat7.w;
					    u_xlat27 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTextureB0, vec2(u_xlat27));
					    u_xlat26 = u_xlat26 * u_xlat6.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat7 = texture(_LightTextureB0, vec2(u_xlat26));
					    u_xlat6 = texture(_LightTexture0, u_xlat6.xyz);
					    u_xlat26 = u_xlat6.w * u_xlat7.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat7 = texture(_LightTextureB0, vec2(u_xlat26));
					    u_xlat6 = texture(_LightTexture0, u_xlat6.xyz);
					    u_xlat26 = u_xlat6.w * u_xlat7.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_2_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb14 = u_xlat37<0.99000001;
					    if(u_xlatb14){
					        u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					        u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					        u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					        u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					        u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					        u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					        u_xlat18.xy = floor(u_xlat18.xy);
					        u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					        u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					        u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					        u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					        u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					        u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					        u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					        u_xlat11.x = u_xlat8.x;
					        u_xlat11.y = u_xlat10.x;
					        u_xlat11.z = u_xlat14.x;
					        u_xlat11.w = u_xlat9.x;
					        u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9.x = u_xlat8.z;
					        u_xlat9.y = u_xlat10.y;
					        u_xlat9.z = u_xlat14.y;
					        u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					        u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					        u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					        u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					        u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					        u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					        u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					        u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					        u_xlat8 = u_xlat9 * u_xlat10;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					        vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat26 = u_xlat26 * u_xlat8.y;
					        u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					        vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					        vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					        u_xlat26 = (-_LightShadowData.x) + 1.0;
					        u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    } else {
					        u_xlat14.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat14.x) + u_xlat2.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x + u_xlat14.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_2_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					int u_xlati37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlati37 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati37].xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati37 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati37 / 4][u_xlati37 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati37 + 1) / 4][(u_xlati37 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati37 + 2) / 4][(u_xlati37 + 2) % 4].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb14 = u_xlat37<0.99000001;
					    if(u_xlatb14){
					        u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					        u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					        u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					        u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					        u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					        u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					        u_xlat18.xy = floor(u_xlat18.xy);
					        u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					        u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					        u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					        u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					        u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					        u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					        u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					        u_xlat11.x = u_xlat8.x;
					        u_xlat11.y = u_xlat10.x;
					        u_xlat11.z = u_xlat14.x;
					        u_xlat11.w = u_xlat9.x;
					        u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9.x = u_xlat8.z;
					        u_xlat9.y = u_xlat10.y;
					        u_xlat9.z = u_xlat14.y;
					        u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					        u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					        u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					        u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					        u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					        u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					        u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					        u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					        u_xlat8 = u_xlat9 * u_xlat10;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					        vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat26 = u_xlat26 * u_xlat8.y;
					        u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					        vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					        vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					        u_xlat26 = (-_LightShadowData.x) + 1.0;
					        u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    } else {
					        u_xlat14.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat14.x) + u_xlat2.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x + u_xlat14.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_2_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					    u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat18.xy = floor(u_xlat18.xy);
					    u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					    u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					    u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					    u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					    u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					    u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					    u_xlat11.x = u_xlat8.x;
					    u_xlat11.y = u_xlat10.x;
					    u_xlat11.z = u_xlat14.x;
					    u_xlat11.w = u_xlat9.x;
					    u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9.x = u_xlat8.z;
					    u_xlat9.y = u_xlat10.y;
					    u_xlat9.z = u_xlat14.y;
					    u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					    u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					    u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					    u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					    u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					    u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					    u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat8 = u_xlat9 * u_xlat10;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					    vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat26 = u_xlat26 * u_xlat8.y;
					    u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					    vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					    vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					    u_xlat26 = (-_LightShadowData.x) + 1.0;
					    u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    u_xlat37 = u_xlat37 + u_xlat14.x;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlat37 = min(u_xlat2.x, u_xlat37);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_2_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					int u_xlati37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlati37 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati37].xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati37 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati37 / 4][u_xlati37 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati37 + 1) / 4][(u_xlati37 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati37 + 2) / 4][(u_xlati37 + 2) % 4].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					    u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat18.xy = floor(u_xlat18.xy);
					    u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					    u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					    u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					    u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					    u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					    u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					    u_xlat11.x = u_xlat8.x;
					    u_xlat11.y = u_xlat10.x;
					    u_xlat11.z = u_xlat14.x;
					    u_xlat11.w = u_xlat9.x;
					    u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9.x = u_xlat8.z;
					    u_xlat9.y = u_xlat10.y;
					    u_xlat9.z = u_xlat14.y;
					    u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					    u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					    u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					    u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					    u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					    u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					    u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat8 = u_xlat9 * u_xlat10;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					    vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat26 = u_xlat26 * u_xlat8.y;
					    u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					    vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					    vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					    u_xlat26 = (-_LightShadowData.x) + 1.0;
					    u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    u_xlat37 = u_xlat37 + u_xlat14.x;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlat37 = min(u_xlat2.x, u_xlat37);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_2_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb14 = u_xlat37<0.99000001;
					    if(u_xlatb14){
					        u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					        u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					        u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					        u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					        u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					        u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					        u_xlat18.xy = floor(u_xlat18.xy);
					        u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					        u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					        u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					        u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					        u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					        u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					        u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					        u_xlat11.x = u_xlat8.x;
					        u_xlat11.y = u_xlat10.x;
					        u_xlat11.z = u_xlat14.x;
					        u_xlat11.w = u_xlat9.x;
					        u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9.x = u_xlat8.z;
					        u_xlat9.y = u_xlat10.y;
					        u_xlat9.z = u_xlat14.y;
					        u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					        u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					        u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					        u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					        u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					        u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					        u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					        u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					        u_xlat8 = u_xlat9 * u_xlat10;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					        vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat26 = u_xlat26 * u_xlat8.y;
					        u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					        vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					        vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					        u_xlat26 = (-_LightShadowData.x) + 1.0;
					        u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    } else {
					        u_xlat14.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat14.x) + u_xlat2.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x + u_xlat14.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_2_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					int u_xlati37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlati37 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati37].xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati37 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati37 / 4][u_xlati37 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati37 + 1) / 4][(u_xlati37 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati37 + 2) / 4][(u_xlati37 + 2) % 4].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb14 = u_xlat37<0.99000001;
					    if(u_xlatb14){
					        u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					        u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					        u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					        u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					        u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					        u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					        u_xlat18.xy = floor(u_xlat18.xy);
					        u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					        u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					        u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					        u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					        u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					        u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					        u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					        u_xlat11.x = u_xlat8.x;
					        u_xlat11.y = u_xlat10.x;
					        u_xlat11.z = u_xlat14.x;
					        u_xlat11.w = u_xlat9.x;
					        u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9.x = u_xlat8.z;
					        u_xlat9.y = u_xlat10.y;
					        u_xlat9.z = u_xlat14.y;
					        u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					        u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					        u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					        u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					        u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					        u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					        u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					        u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					        u_xlat8 = u_xlat9 * u_xlat10;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					        vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat26 = u_xlat26 * u_xlat8.y;
					        u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					        vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					        vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					        u_xlat26 = (-_LightShadowData.x) + 1.0;
					        u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    } else {
					        u_xlat14.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat14.x) + u_xlat2.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x + u_xlat14.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_2_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					    u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat18.xy = floor(u_xlat18.xy);
					    u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					    u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					    u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					    u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					    u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					    u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					    u_xlat11.x = u_xlat8.x;
					    u_xlat11.y = u_xlat10.x;
					    u_xlat11.z = u_xlat14.x;
					    u_xlat11.w = u_xlat9.x;
					    u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9.x = u_xlat8.z;
					    u_xlat9.y = u_xlat10.y;
					    u_xlat9.z = u_xlat14.y;
					    u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					    u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					    u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					    u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					    u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					    u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					    u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat8 = u_xlat9 * u_xlat10;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					    vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat26 = u_xlat26 * u_xlat8.y;
					    u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					    vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					    vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					    u_xlat26 = (-_LightShadowData.x) + 1.0;
					    u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    u_xlat37 = u_xlat37 + u_xlat14.x;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlat37 = min(u_xlat2.x, u_xlat37);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_2_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					int u_xlati37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlati37 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati37].xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati37 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati37 / 4][u_xlati37 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati37 + 1) / 4][(u_xlati37 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati37 + 2) / 4][(u_xlati37 + 2) % 4].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					    u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat18.xy = floor(u_xlat18.xy);
					    u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					    u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					    u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					    u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					    u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					    u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					    u_xlat11.x = u_xlat8.x;
					    u_xlat11.y = u_xlat10.x;
					    u_xlat11.z = u_xlat14.x;
					    u_xlat11.w = u_xlat9.x;
					    u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9.x = u_xlat8.z;
					    u_xlat9.y = u_xlat10.y;
					    u_xlat9.z = u_xlat14.y;
					    u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					    u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					    u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					    u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					    u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					    u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					    u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat8 = u_xlat9 * u_xlat10;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					    vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat26 = u_xlat26 * u_xlat8.y;
					    u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					    vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					    vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					    u_xlat26 = (-_LightShadowData.x) + 1.0;
					    u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    u_xlat37 = u_xlat37 + u_xlat14.x;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlat37 = min(u_xlat2.x, u_xlat37);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_1_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_1_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_1_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_2_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7.x = float(1.0);
					        u_xlat7.y = float(1.0);
					        u_xlat7.z = float(1.0);
					        u_xlat7.w = float(1.0);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTexture0, vec2(u_xlat26));
					    u_xlat25 = u_xlat25 * u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7.x = float(1.0);
					        u_xlat7.y = float(1.0);
					        u_xlat7.z = float(1.0);
					        u_xlat7.w = float(1.0);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTexture0, vec2(u_xlat26));
					    u_xlat25 = u_xlat25 * u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat13;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat6 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat6;
					    u_xlat6 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat6;
					    u_xlat6 = u_xlat6 + unity_WorldToLight[3];
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7.x = float(1.0);
					        u_xlat7.y = float(1.0);
					        u_xlat7.z = float(1.0);
					        u_xlat7.w = float(1.0);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlatb26 = 0.0<u_xlat6.z;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat13.xy = u_xlat6.xy / u_xlat6.ww;
					    u_xlat13.xy = u_xlat13.xy + vec2(0.5, 0.5);
					    u_xlat7 = texture(_LightTexture0, u_xlat13.xy);
					    u_xlat26 = u_xlat26 * u_xlat7.w;
					    u_xlat27 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTextureB0, vec2(u_xlat27));
					    u_xlat26 = u_xlat26 * u_xlat6.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat13;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat6 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat6;
					    u_xlat6 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat6;
					    u_xlat6 = u_xlat6 + unity_WorldToLight[3];
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7.x = float(1.0);
					        u_xlat7.y = float(1.0);
					        u_xlat7.z = float(1.0);
					        u_xlat7.w = float(1.0);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlatb26 = 0.0<u_xlat6.z;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat13.xy = u_xlat6.xy / u_xlat6.ww;
					    u_xlat13.xy = u_xlat13.xy + vec2(0.5, 0.5);
					    u_xlat7 = texture(_LightTexture0, u_xlat13.xy);
					    u_xlat26 = u_xlat26 * u_xlat7.w;
					    u_xlat27 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTextureB0, vec2(u_xlat27));
					    u_xlat26 = u_xlat26 * u_xlat6.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7.x = float(1.0);
					        u_xlat7.y = float(1.0);
					        u_xlat7.z = float(1.0);
					        u_xlat7.w = float(1.0);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat7 = texture(_LightTextureB0, vec2(u_xlat26));
					    u_xlat6 = texture(_LightTexture0, u_xlat6.xyz);
					    u_xlat26 = u_xlat6.w * u_xlat7.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7.x = float(1.0);
					        u_xlat7.y = float(1.0);
					        u_xlat7.z = float(1.0);
					        u_xlat7.w = float(1.0);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat7 = texture(_LightTextureB0, vec2(u_xlat26));
					    u_xlat6 = texture(_LightTexture0, u_xlat6.xyz);
					    u_xlat26 = u_xlat6.w * u_xlat7.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTexture0, vec2(u_xlat26));
					    u_xlat25 = u_xlat25 * u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTexture0, vec2(u_xlat26));
					    u_xlat25 = u_xlat25 * u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat13;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat6 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat6;
					    u_xlat6 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat6;
					    u_xlat6 = u_xlat6 + unity_WorldToLight[3];
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlatb26 = 0.0<u_xlat6.z;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat13.xy = u_xlat6.xy / u_xlat6.ww;
					    u_xlat13.xy = u_xlat13.xy + vec2(0.5, 0.5);
					    u_xlat7 = texture(_LightTexture0, u_xlat13.xy);
					    u_xlat26 = u_xlat26 * u_xlat7.w;
					    u_xlat27 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTextureB0, vec2(u_xlat27));
					    u_xlat26 = u_xlat26 * u_xlat6.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat13;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat6 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat6;
					    u_xlat6 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat6;
					    u_xlat6 = u_xlat6 + unity_WorldToLight[3];
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlatb26 = 0.0<u_xlat6.z;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat13.xy = u_xlat6.xy / u_xlat6.ww;
					    u_xlat13.xy = u_xlat13.xy + vec2(0.5, 0.5);
					    u_xlat7 = texture(_LightTexture0, u_xlat13.xy);
					    u_xlat26 = u_xlat26 * u_xlat7.w;
					    u_xlat27 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTextureB0, vec2(u_xlat27));
					    u_xlat26 = u_xlat26 * u_xlat6.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat7 = texture(_LightTextureB0, vec2(u_xlat26));
					    u_xlat6 = texture(_LightTexture0, u_xlat6.xyz);
					    u_xlat26 = u_xlat6.w * u_xlat7.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat7 = texture(_LightTextureB0, vec2(u_xlat26));
					    u_xlat6 = texture(_LightTexture0, u_xlat6.xyz);
					    u_xlat26 = u_xlat6.w * u_xlat7.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTexture0, vec2(u_xlat26));
					    u_xlat25 = u_xlat25 * u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTexture0, vec2(u_xlat26));
					    u_xlat25 = u_xlat25 * u_xlat6.x;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat13;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat6 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat6;
					    u_xlat6 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat6;
					    u_xlat6 = u_xlat6 + unity_WorldToLight[3];
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlatb26 = 0.0<u_xlat6.z;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat13.xy = u_xlat6.xy / u_xlat6.ww;
					    u_xlat13.xy = u_xlat13.xy + vec2(0.5, 0.5);
					    u_xlat7 = texture(_LightTexture0, u_xlat13.xy);
					    u_xlat26 = u_xlat26 * u_xlat7.w;
					    u_xlat27 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTextureB0, vec2(u_xlat27));
					    u_xlat26 = u_xlat26 * u_xlat6.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					vec2 u_xlat13;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					bool u_xlatb26;
					float u_xlat27;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat6 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat6;
					    u_xlat6 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat6;
					    u_xlat6 = u_xlat6 + unity_WorldToLight[3];
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlatb26 = 0.0<u_xlat6.z;
					    u_xlat26 = u_xlatb26 ? 1.0 : float(0.0);
					    u_xlat13.xy = u_xlat6.xy / u_xlat6.ww;
					    u_xlat13.xy = u_xlat13.xy + vec2(0.5, 0.5);
					    u_xlat7 = texture(_LightTexture0, u_xlat13.xy);
					    u_xlat26 = u_xlat26 * u_xlat7.w;
					    u_xlat27 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat6 = texture(_LightTextureB0, vec2(u_xlat27));
					    u_xlat26 = u_xlat26 * u_xlat6.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat7 = texture(_LightTextureB0, vec2(u_xlat26));
					    u_xlat6 = texture(_LightTexture0, u_xlat6.xyz);
					    u_xlat26 = u_xlat6.w * u_xlat7.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					float u_xlat9;
					float u_xlat10;
					float u_xlat16;
					float u_xlat24;
					bool u_xlatb24;
					float u_xlat25;
					int u_xlati25;
					bool u_xlatb25;
					float u_xlat26;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat1.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlati25 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati25].xyz;
					    u_xlat25 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat25 = inversesqrt(u_xlat25);
					    u_xlat2.xyz = vec3(u_xlat25) * u_xlat2.xyz;
					    u_xlat3.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat3 = texture(_NormalMap, u_xlat3.xy);
					    u_xlat3.x = u_xlat3.w * u_xlat3.x;
					    u_xlat3.xy = u_xlat3.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat25 = dot(u_xlat3.xy, u_xlat3.xy);
					    u_xlat25 = min(u_xlat25, 1.0);
					    u_xlat25 = (-u_xlat25) + 1.0;
					    u_xlat3.z = sqrt(u_xlat25);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat4 = texture(_BaseColor, u_xlat4.xy);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat5 = texture(_ColorMask, u_xlat5.xy);
					    u_xlat6.xyz = u_xlat4.xyz * _Color04.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat5.xxx * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat7.xyz = u_xlat4.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat5.xyw = u_xlat5.yyy * u_xlat7.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * _Color03.xyz + (-u_xlat5.xyw);
					    u_xlat4.xyz = u_xlat5.zzz * u_xlat4.xyz + u_xlat5.xyw;
					    u_xlat5.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat5 = texture(_MetallicRAOGGlossA, u_xlat5.xy);
					    u_xlat6.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat6.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat6.xyz;
					    u_xlat6.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat6.xyz;
					    u_xlat6.xyz = u_xlat6.xyz + unity_WorldToLight[3].xyz;
					    u_xlatb25 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb25){
					        u_xlatb25 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat7.xyz = (bool(u_xlatb25)) ? u_xlat7.xyz : vs_TEXCOORD4.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat7.yzw = u_xlat7.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat25 = u_xlat7.y * 0.25 + 0.75;
					        u_xlat26 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat7.x = max(u_xlat25, u_xlat26);
					        u_xlat7 = texture(unity_ProbeVolumeSH, u_xlat7.xzw);
					    } else {
					        u_xlat7 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat25 = dot(u_xlat7, unity_OcclusionMaskSelector);
					    u_xlat25 = clamp(u_xlat25, 0.0, 1.0);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat7 = texture(_LightTextureB0, vec2(u_xlat26));
					    u_xlat6 = texture(_LightTexture0, u_xlat6.xyz);
					    u_xlat26 = u_xlat6.w * u_xlat7.x;
					    u_xlat25 = u_xlat25 * u_xlat26;
					    u_xlat6.x = dot(vs_TEXCOORD1.xyz, u_xlat3.xyz);
					    u_xlat6.y = dot(vs_TEXCOORD2.xyz, u_xlat3.xyz);
					    u_xlat6.z = dot(vs_TEXCOORD3.xyz, u_xlat3.xyz);
					    u_xlat26 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlat26 = inversesqrt(u_xlat26);
					    u_xlat3.xyz = vec3(u_xlat26) * u_xlat6.xyz;
					    u_xlat6.xyz = vec3(u_xlat25) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat4.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat5.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat25 = (-u_xlat5.x) * 0.959999979 + 0.959999979;
					    u_xlat4.xyz = vec3(u_xlat25) * u_xlat4.xyz;
					    u_xlat25 = (-u_xlat5.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat24) + u_xlat2.xyz;
					    u_xlat24 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat24 = max(u_xlat24, 0.00100000005);
					    u_xlat24 = inversesqrt(u_xlat24);
					    u_xlat0.xyz = vec3(u_xlat24) * u_xlat0.xyz;
					    u_xlat24 = dot(u_xlat3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat3.xyz, u_xlat1.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat10 = dot(u_xlat3.xyz, u_xlat0.xyz);
					    u_xlat10 = clamp(u_xlat10, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat8.x = u_xlat0.x * u_xlat0.x;
					    u_xlat8.x = dot(u_xlat8.xx, vec2(u_xlat25));
					    u_xlat8.x = u_xlat8.x + -0.5;
					    u_xlat16 = (-u_xlat2.x) + 1.0;
					    u_xlat1.x = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat1.x;
					    u_xlat16 = u_xlat8.x * u_xlat16 + 1.0;
					    u_xlat1.x = -abs(u_xlat24) + 1.0;
					    u_xlat9 = u_xlat1.x * u_xlat1.x;
					    u_xlat9 = u_xlat9 * u_xlat9;
					    u_xlat1.x = u_xlat1.x * u_xlat9;
					    u_xlat8.x = u_xlat8.x * u_xlat1.x + 1.0;
					    u_xlat8.x = u_xlat8.x * u_xlat16;
					    u_xlat16 = u_xlat25 * u_xlat25;
					    u_xlat16 = max(u_xlat16, 0.00200000009);
					    u_xlat1.x = (-u_xlat16) + 1.0;
					    u_xlat9 = abs(u_xlat24) * u_xlat1.x + u_xlat16;
					    u_xlat1.x = u_xlat2.x * u_xlat1.x + u_xlat16;
					    u_xlat24 = abs(u_xlat24) * u_xlat1.x;
					    u_xlat24 = u_xlat2.x * u_xlat9 + u_xlat24;
					    u_xlat24 = u_xlat24 + 9.99999975e-06;
					    u_xlat24 = 0.5 / u_xlat24;
					    u_xlat16 = u_xlat16 * u_xlat16;
					    u_xlat1.x = u_xlat10 * u_xlat16 + (-u_xlat10);
					    u_xlat1.x = u_xlat1.x * u_xlat10 + 1.0;
					    u_xlat16 = u_xlat16 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat16 = u_xlat16 / u_xlat1.x;
					    u_xlat16 = u_xlat16 * u_xlat24;
					    u_xlat8.y = u_xlat16 * 3.14159274;
					    u_xlat8.xy = u_xlat2.xx * u_xlat8.xy;
					    u_xlat16 = max(u_xlat8.y, 0.0);
					    u_xlat24 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb24 = u_xlat24!=0.0;
					    u_xlat24 = u_xlatb24 ? 1.0 : float(0.0);
					    u_xlat16 = u_xlat24 * u_xlat16;
					    u_xlat1.xyz = u_xlat8.xxx * u_xlat6.xyz;
					    u_xlat8.xyz = u_xlat6.xyz * vec3(u_xlat16);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat25 = u_xlat0.x * u_xlat0.x;
					    u_xlat25 = u_xlat25 * u_xlat25;
					    u_xlat0.x = u_xlat0.x * u_xlat25;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat8.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat4.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat24 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat24 = (-u_xlat24) + 1.0;
					    u_xlat24 = u_xlat24 * _ProjectionParams.z;
					    u_xlat24 = max(u_xlat24, 0.0);
					    u_xlat24 = u_xlat24 * unity_FogParams.x;
					    u_xlat24 = u_xlat24 * (-u_xlat24);
					    u_xlat24 = exp2(u_xlat24);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat24);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[64];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_3_2[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					bool u_xlatb22;
					float u_xlat23;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlatb22 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb22){
					        u_xlatb22 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb22)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat22 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat23 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat22, u_xlat23);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat22 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb14 = u_xlat37<0.99000001;
					    if(u_xlatb14){
					        u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					        u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					        u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					        u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					        u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					        u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					        u_xlat18.xy = floor(u_xlat18.xy);
					        u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					        u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					        u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					        u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					        u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					        u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					        u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					        u_xlat11.x = u_xlat8.x;
					        u_xlat11.y = u_xlat10.x;
					        u_xlat11.z = u_xlat14.x;
					        u_xlat11.w = u_xlat9.x;
					        u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9.x = u_xlat8.z;
					        u_xlat9.y = u_xlat10.y;
					        u_xlat9.z = u_xlat14.y;
					        u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					        u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					        u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					        u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					        u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					        u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					        u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					        u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					        u_xlat8 = u_xlat9 * u_xlat10;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					        vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat26 = u_xlat26 * u_xlat8.y;
					        u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					        vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					        vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					        u_xlat26 = (-_LightShadowData.x) + 1.0;
					        u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    } else {
					        u_xlat14.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat14.x) + u_xlat2.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x + u_xlat14.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat36);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					int u_xlati37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlati37 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati37].xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati37 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati37 / 4][u_xlati37 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati37 + 1) / 4][(u_xlati37 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati37 + 2) / 4][(u_xlati37 + 2) % 4].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb14 = u_xlat37<0.99000001;
					    if(u_xlatb14){
					        u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					        u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					        u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					        u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					        u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					        u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					        u_xlat18.xy = floor(u_xlat18.xy);
					        u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					        u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					        u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					        u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					        u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					        u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					        u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					        u_xlat11.x = u_xlat8.x;
					        u_xlat11.y = u_xlat10.x;
					        u_xlat11.z = u_xlat14.x;
					        u_xlat11.w = u_xlat9.x;
					        u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9.x = u_xlat8.z;
					        u_xlat9.y = u_xlat10.y;
					        u_xlat9.z = u_xlat14.y;
					        u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					        u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					        u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					        u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					        u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					        u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					        u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					        u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					        u_xlat8 = u_xlat9 * u_xlat10;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					        vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat26 = u_xlat26 * u_xlat8.y;
					        u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					        vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					        vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					        u_xlat26 = (-_LightShadowData.x) + 1.0;
					        u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    } else {
					        u_xlat14.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat14.x) + u_xlat2.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x + u_xlat14.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat36);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					    u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat18.xy = floor(u_xlat18.xy);
					    u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					    u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					    u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					    u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					    u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					    u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					    u_xlat11.x = u_xlat8.x;
					    u_xlat11.y = u_xlat10.x;
					    u_xlat11.z = u_xlat14.x;
					    u_xlat11.w = u_xlat9.x;
					    u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9.x = u_xlat8.z;
					    u_xlat9.y = u_xlat10.y;
					    u_xlat9.z = u_xlat14.y;
					    u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					    u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					    u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					    u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					    u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					    u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					    u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat8 = u_xlat9 * u_xlat10;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					    vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat26 = u_xlat26 * u_xlat8.y;
					    u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					    vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					    vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					    u_xlat26 = (-_LightShadowData.x) + 1.0;
					    u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    u_xlat37 = u_xlat37 + u_xlat14.x;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlat37 = min(u_xlat2.x, u_xlat37);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat36);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					int u_xlati37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlati37 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati37].xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati37 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati37 / 4][u_xlati37 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati37 + 1) / 4][(u_xlati37 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati37 + 2) / 4][(u_xlati37 + 2) % 4].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					    u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat18.xy = floor(u_xlat18.xy);
					    u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					    u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					    u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					    u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					    u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					    u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					    u_xlat11.x = u_xlat8.x;
					    u_xlat11.y = u_xlat10.x;
					    u_xlat11.z = u_xlat14.x;
					    u_xlat11.w = u_xlat9.x;
					    u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9.x = u_xlat8.z;
					    u_xlat9.y = u_xlat10.y;
					    u_xlat9.z = u_xlat14.y;
					    u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					    u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					    u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					    u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					    u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					    u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					    u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat8 = u_xlat9 * u_xlat10;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					    vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat26 = u_xlat26 * u_xlat8.y;
					    u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					    vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					    vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					    u_xlat26 = (-_LightShadowData.x) + 1.0;
					    u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    u_xlat37 = u_xlat37 + u_xlat14.x;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlat37 = min(u_xlat2.x, u_xlat37);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat36);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb14 = u_xlat37<0.99000001;
					    if(u_xlatb14){
					        u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					        u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					        u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					        u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					        u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					        u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					        u_xlat18.xy = floor(u_xlat18.xy);
					        u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					        u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					        u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					        u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					        u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					        u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					        u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					        u_xlat11.x = u_xlat8.x;
					        u_xlat11.y = u_xlat10.x;
					        u_xlat11.z = u_xlat14.x;
					        u_xlat11.w = u_xlat9.x;
					        u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9.x = u_xlat8.z;
					        u_xlat9.y = u_xlat10.y;
					        u_xlat9.z = u_xlat14.y;
					        u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					        u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					        u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					        u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					        u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					        u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					        u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					        u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					        u_xlat8 = u_xlat9 * u_xlat10;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					        vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat26 = u_xlat26 * u_xlat8.y;
					        u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					        vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					        vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					        u_xlat26 = (-_LightShadowData.x) + 1.0;
					        u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    } else {
					        u_xlat14.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat14.x) + u_xlat2.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x + u_xlat14.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat36);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					bool u_xlatb14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					int u_xlati37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlati37 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati37].xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati37 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati37 / 4][u_xlati37 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati37 + 1) / 4][(u_xlati37 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati37 + 2) / 4][(u_xlati37 + 2) % 4].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb14 = u_xlat37<0.99000001;
					    if(u_xlatb14){
					        u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					        u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					        u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					        u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					        u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					        u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					        u_xlat18.xy = floor(u_xlat18.xy);
					        u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					        u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					        u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					        u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					        u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					        u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					        u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					        u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					        u_xlat11.x = u_xlat8.x;
					        u_xlat11.y = u_xlat10.x;
					        u_xlat11.z = u_xlat14.x;
					        u_xlat11.w = u_xlat9.x;
					        u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9.x = u_xlat8.z;
					        u_xlat9.y = u_xlat10.y;
					        u_xlat9.z = u_xlat14.y;
					        u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					        u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					        u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					        u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					        u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					        u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					        u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					        u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					        u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					        u_xlat8 = u_xlat9 * u_xlat10;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					        vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat26 = u_xlat26 * u_xlat8.y;
					        u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					        u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					        vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					        vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					        u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					        u_xlat26 = (-_LightShadowData.x) + 1.0;
					        u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    } else {
					        u_xlat14.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat14.x) + u_xlat2.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x + u_xlat14.x;
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat36);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat11.xyz = u_xlat8.xyz / u_xlat8.www;
					    vec3 txVec0 = vec3(u_xlat11.xy,u_xlat11.z);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat11.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat11.xy = u_xlat11.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat11.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat11.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					    u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat18.xy = floor(u_xlat18.xy);
					    u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					    u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					    u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					    u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					    u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					    u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					    u_xlat11.x = u_xlat8.x;
					    u_xlat11.y = u_xlat10.x;
					    u_xlat11.z = u_xlat14.x;
					    u_xlat11.w = u_xlat9.x;
					    u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9.x = u_xlat8.z;
					    u_xlat9.y = u_xlat10.y;
					    u_xlat9.z = u_xlat14.y;
					    u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					    u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					    u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					    u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					    u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					    u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					    u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat8 = u_xlat9 * u_xlat10;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					    vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat26 = u_xlat26 * u_xlat8.y;
					    u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					    vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					    vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					    u_xlat26 = (-_LightShadowData.x) + 1.0;
					    u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    u_xlat37 = u_xlat37 + u_xlat14.x;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlat37 = min(u_xlat2.x, u_xlat37);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat36);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_DEPTH" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "SPOT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2[5];
						vec4 _ShadowMapTexture_TexelSize;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_13;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[8];
						mat4x4 unity_WorldToShadow[4];
						vec4 unused_3_2[12];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _LightTextureB0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec4 u_xlat9;
					vec4 u_xlat10;
					vec4 u_xlat11;
					vec3 u_xlat12;
					float u_xlat13;
					vec3 u_xlat14;
					vec2 u_xlat18;
					float u_xlat24;
					float u_xlat26;
					vec2 u_xlat34;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					int u_xlati37;
					float u_xlat38;
					float u_xlat39;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat1.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlati37 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati37].xyz;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat37 = inversesqrt(u_xlat37);
					    u_xlat3.xyz = vec3(u_xlat37) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat37 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat37 = min(u_xlat37, 1.0);
					    u_xlat37 = (-u_xlat37) + 1.0;
					    u_xlat4.z = sqrt(u_xlat37);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7 = vs_TEXCOORD4.yyyy * unity_WorldToLight[1];
					    u_xlat7 = unity_WorldToLight[0] * vs_TEXCOORD4.xxxx + u_xlat7;
					    u_xlat7 = unity_WorldToLight[2] * vs_TEXCOORD4.zzzz + u_xlat7;
					    u_xlat7 = u_xlat7 + unity_WorldToLight[3];
					    u_xlati37 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati37 / 4][u_xlati37 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati37 + 1) / 4][(u_xlati37 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati37 + 2) / 4][(u_xlati37 + 2) % 4].z;
					    u_xlat37 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat37) + u_xlat2.x;
					    u_xlat37 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat37;
					    u_xlat37 = u_xlat37 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat14.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat14.xyz;
					        u_xlat14.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat14.xyz;
					        u_xlat14.xyz = u_xlat14.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat14.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat39 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat14.x, u_xlat39);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat8 = vs_TEXCOORD4.yyyy * unity_WorldToShadow[1 / 4][1 % 4];
					    u_xlat8 = unity_WorldToShadow[0 / 4][0 % 4] * vs_TEXCOORD4.xxxx + u_xlat8;
					    u_xlat8 = unity_WorldToShadow[2 / 4][2 % 4] * vs_TEXCOORD4.zzzz + u_xlat8;
					    u_xlat8 = u_xlat8 + unity_WorldToShadow[3 / 4][3 % 4];
					    u_xlat14.xyz = u_xlat8.xyz / u_xlat8.www;
					    u_xlat18.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + vec2(0.5, 0.5);
					    u_xlat18.xy = floor(u_xlat18.xy);
					    u_xlat14.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.zw + (-u_xlat18.xy);
					    u_xlat8 = u_xlat14.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
					    u_xlat9.xw = u_xlat8.xz * u_xlat8.xz;
					    u_xlat8.xz = u_xlat9.xw * vec2(0.5, 0.5) + (-u_xlat14.xy);
					    u_xlat10.xy = (-u_xlat14.xy) + vec2(1.0, 1.0);
					    u_xlat34.xy = min(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat10.xy = (-u_xlat34.xy) * u_xlat34.xy + u_xlat10.xy;
					    u_xlat14.xy = max(u_xlat14.xy, vec2(0.0, 0.0));
					    u_xlat14.xy = (-u_xlat14.xy) * u_xlat14.xy + u_xlat8.yw;
					    u_xlat11.x = u_xlat8.x;
					    u_xlat11.y = u_xlat10.x;
					    u_xlat11.z = u_xlat14.x;
					    u_xlat11.w = u_xlat9.x;
					    u_xlat11 = u_xlat11 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9.x = u_xlat8.z;
					    u_xlat9.y = u_xlat10.y;
					    u_xlat9.z = u_xlat14.y;
					    u_xlat8 = u_xlat9 * vec4(0.444440007, 0.444440007, 0.444440007, 0.222220004);
					    u_xlat9 = u_xlat11.ywyw + u_xlat11.xzxz;
					    u_xlat10 = u_xlat8.yyww + u_xlat8.xxzz;
					    u_xlat14.xy = u_xlat11.yw / u_xlat9.zw;
					    u_xlat14.xy = u_xlat14.xy + vec2(-1.5, 0.5);
					    u_xlat8.xy = u_xlat8.yw / u_xlat10.yw;
					    u_xlat8.xy = u_xlat8.xy + vec2(-1.5, 0.5);
					    u_xlat11.xy = u_xlat14.xy * _ShadowMapTexture_TexelSize.xx;
					    u_xlat11.zw = u_xlat8.xy * _ShadowMapTexture_TexelSize.yy;
					    u_xlat8 = u_xlat9 * u_xlat10;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xzyz;
					    vec3 txVec0 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat14.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    vec3 txVec1 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat26 = u_xlat26 * u_xlat8.y;
					    u_xlat14.x = u_xlat8.x * u_xlat14.x + u_xlat26;
					    u_xlat9 = u_xlat18.xyxy * _ShadowMapTexture_TexelSize.xyxy + u_xlat11.xwyw;
					    vec3 txVec2 = vec3(u_xlat9.xy,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat14.x = u_xlat8.z * u_xlat26 + u_xlat14.x;
					    vec3 txVec3 = vec3(u_xlat9.zw,u_xlat14.z);
					    u_xlat26 = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat14.x = u_xlat8.w * u_xlat26 + u_xlat14.x;
					    u_xlat26 = (-_LightShadowData.x) + 1.0;
					    u_xlat14.x = u_xlat14.x * u_xlat26 + _LightShadowData.x;
					    u_xlat37 = u_xlat37 + u_xlat14.x;
					    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
					    u_xlat37 = min(u_xlat2.x, u_xlat37);
					    u_xlatb2 = 0.0<u_xlat7.z;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat14.xy = u_xlat7.xy / u_xlat7.ww;
					    u_xlat14.xy = u_xlat14.xy + vec2(0.5, 0.5);
					    u_xlat8 = texture(_LightTexture0, u_xlat14.xy);
					    u_xlat2.x = u_xlat2.x * u_xlat8.w;
					    u_xlat14.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat7 = texture(_LightTextureB0, u_xlat14.xx);
					    u_xlat2.x = u_xlat2.x * u_xlat7.x;
					    u_xlat37 = u_xlat37 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat38 = inversesqrt(u_xlat38);
					    u_xlat2.xyz = vec3(u_xlat38) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat37) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat37 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat37) * u_xlat5.xyz;
					    u_xlat37 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat36) + u_xlat3.xyz;
					    u_xlat36 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat36 = max(u_xlat36, 0.00100000005);
					    u_xlat36 = inversesqrt(u_xlat36);
					    u_xlat0.xyz = vec3(u_xlat36) * u_xlat0.xyz;
					    u_xlat36 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat38 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat38 = clamp(u_xlat38, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat12.x = u_xlat0.x * u_xlat0.x;
					    u_xlat12.x = dot(u_xlat12.xx, vec2(u_xlat37));
					    u_xlat12.x = u_xlat12.x + -0.5;
					    u_xlat24 = (-u_xlat38) + 1.0;
					    u_xlat1.x = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat1.x;
					    u_xlat24 = u_xlat12.x * u_xlat24 + 1.0;
					    u_xlat1.x = -abs(u_xlat36) + 1.0;
					    u_xlat13 = u_xlat1.x * u_xlat1.x;
					    u_xlat13 = u_xlat13 * u_xlat13;
					    u_xlat1.x = u_xlat1.x * u_xlat13;
					    u_xlat12.x = u_xlat12.x * u_xlat1.x + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat24;
					    u_xlat24 = u_xlat37 * u_xlat37;
					    u_xlat24 = max(u_xlat24, 0.00200000009);
					    u_xlat1.x = (-u_xlat24) + 1.0;
					    u_xlat13 = abs(u_xlat36) * u_xlat1.x + u_xlat24;
					    u_xlat1.x = u_xlat38 * u_xlat1.x + u_xlat24;
					    u_xlat36 = abs(u_xlat36) * u_xlat1.x;
					    u_xlat36 = u_xlat38 * u_xlat13 + u_xlat36;
					    u_xlat36 = u_xlat36 + 9.99999975e-06;
					    u_xlat36 = 0.5 / u_xlat36;
					    u_xlat24 = u_xlat24 * u_xlat24;
					    u_xlat1.x = u_xlat2.x * u_xlat24 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat24 = u_xlat24 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat24 = u_xlat24 / u_xlat1.x;
					    u_xlat24 = u_xlat24 * u_xlat36;
					    u_xlat12.y = u_xlat24 * 3.14159274;
					    u_xlat12.xy = vec2(u_xlat38) * u_xlat12.xy;
					    u_xlat24 = max(u_xlat12.y, 0.0);
					    u_xlat36 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb36 = u_xlat36!=0.0;
					    u_xlat36 = u_xlatb36 ? 1.0 : float(0.0);
					    u_xlat24 = u_xlat36 * u_xlat24;
					    u_xlat1.xyz = u_xlat12.xxx * u_xlat4.xyz;
					    u_xlat12.xyz = u_xlat4.xyz * vec3(u_xlat24);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat37 = u_xlat0.x * u_xlat0.x;
					    u_xlat37 = u_xlat37 * u_xlat37;
					    u_xlat0.x = u_xlat0.x * u_xlat37;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat12.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat36 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat36 = (-u_xlat36) + 1.0;
					    u_xlat36 = u_xlat36 * _ProjectionParams.z;
					    u_xlat36 = max(u_xlat36, 0.0);
					    u_xlat36 = u_xlat36 * unity_FogParams.x;
					    u_xlat36 = u_xlat36 * (-u_xlat36);
					    u_xlat36 = exp2(u_xlat36);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat36);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5.x = float(1.0);
					        u_xlat5.y = float(1.0);
					        u_xlat5.z = float(1.0);
					        u_xlat5.w = float(1.0);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.xy / vs_TEXCOORD6.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat23 = u_xlat23 + (-u_xlat5.x);
					    u_xlat22 = u_xlat22 * u_xlat23 + u_xlat5.x;
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat11.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat11.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlat5.x = unity_MatrixV[0].z;
					    u_xlat5.y = unity_MatrixV[1].z;
					    u_xlat5.z = unity_MatrixV[2].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRECTIONAL_COOKIE" "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "SHADOWS_SCREEN" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_2_1[45];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_3;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec3 vs_TEXCOORD1;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					int u_xlati0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					float u_xlat8;
					vec2 u_xlat11;
					float u_xlat14;
					float u_xlat15;
					float u_xlat21;
					bool u_xlatb21;
					float u_xlat22;
					int u_xlati22;
					float u_xlat23;
					bool u_xlatb23;
					float u_xlat24;
					void main()
					{
					vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
					    u_xlati0 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati0].xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat1.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat2 = texture(_NormalMap, u_xlat2.xy);
					    u_xlat2.x = u_xlat2.w * u_xlat2.x;
					    u_xlat2.xy = u_xlat2.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat22 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat22 = min(u_xlat22, 1.0);
					    u_xlat22 = (-u_xlat22) + 1.0;
					    u_xlat2.z = sqrt(u_xlat22);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat3 = texture(_BaseColor, u_xlat3.xy);
					    u_xlat4.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat4 = texture(_ColorMask, u_xlat4.xy);
					    u_xlat5.xyz = u_xlat3.xyz * _Color04.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color01.xyz + (-u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat6.xyz = u_xlat3.xyz * _Color02.xyz + (-u_xlat5.xyz);
					    u_xlat4.xyw = u_xlat4.yyy * u_xlat6.xyz + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * _Color03.xyz + (-u_xlat4.xyw);
					    u_xlat3.xyz = u_xlat4.zzz * u_xlat3.xyz + u_xlat4.xyw;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat4 = texture(_MetallicRAOGGlossA, u_xlat4.xy);
					    u_xlat11.xy = vs_TEXCOORD4.yy * unity_WorldToLight[1].xy;
					    u_xlat11.xy = unity_WorldToLight[0].xy * vs_TEXCOORD4.xx + u_xlat11.xy;
					    u_xlat11.xy = unity_WorldToLight[2].xy * vs_TEXCOORD4.zz + u_xlat11.xy;
					    u_xlat11.xy = u_xlat11.xy + unity_WorldToLight[3].xy;
					    u_xlati22 = unity_StereoEyeIndex << 2;
					    u_xlat5.x = unity_StereoMatrixV[u_xlati22 / 4][u_xlati22 % 4].z;
					    u_xlat5.y = unity_StereoMatrixV[(u_xlati22 + 1) / 4][(u_xlati22 + 1) % 4].z;
					    u_xlat5.z = unity_StereoMatrixV[(u_xlati22 + 2) / 4][(u_xlati22 + 2) % 4].z;
					    u_xlat22 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat5.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat23 = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat23 = sqrt(u_xlat23);
					    u_xlat23 = (-u_xlat22) + u_xlat23;
					    u_xlat22 = unity_ShadowFadeCenterAndType.w * u_xlat23 + u_xlat22;
					    u_xlat22 = u_xlat22 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlatb23 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb23){
					        u_xlatb23 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat5.xyz = (bool(u_xlatb23)) ? u_xlat5.xyz : vs_TEXCOORD4.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat5.yzw = u_xlat5.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat23 = u_xlat5.y * 0.25 + 0.75;
					        u_xlat24 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat5.x = max(u_xlat23, u_xlat24);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xzw);
					    } else {
					        u_xlat5 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat23 = dot(u_xlat5, unity_OcclusionMaskSelector);
					    u_xlat23 = clamp(u_xlat23, 0.0, 1.0);
					    u_xlat5.xy = vs_TEXCOORD6.zw / hlslcc_FragCoord.ww;
					    u_xlat5 = texture(_ShadowMapTexture, u_xlat5.xy);
					    u_xlat22 = u_xlat22 + u_xlat5.x;
					    u_xlat22 = clamp(u_xlat22, 0.0, 1.0);
					    u_xlat22 = min(u_xlat23, u_xlat22);
					    u_xlat5 = texture(_LightTexture0, u_xlat11.xy);
					    u_xlat22 = u_xlat22 * u_xlat5.w;
					    u_xlat5.x = dot(vs_TEXCOORD1.xyz, u_xlat2.xyz);
					    u_xlat5.y = dot(vs_TEXCOORD2.xyz, u_xlat2.xyz);
					    u_xlat5.z = dot(vs_TEXCOORD3.xyz, u_xlat2.xyz);
					    u_xlat2.x = dot(u_xlat5.xyz, u_xlat5.xyz);
					    u_xlat2.x = inversesqrt(u_xlat2.x);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat5.xyz;
					    u_xlat5.xyz = vec3(u_xlat22) * _LightColor0.xyz;
					    u_xlat6.xyz = u_xlat3.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat6.xyz = u_xlat4.xxx * u_xlat6.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat22 = (-u_xlat4.x) * 0.959999979 + 0.959999979;
					    u_xlat3.xyz = vec3(u_xlat22) * u_xlat3.xyz;
					    u_xlat22 = (-u_xlat4.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat21) + _WorldSpaceLightPos0.xyz;
					    u_xlat21 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat21 = max(u_xlat21, 0.00100000005);
					    u_xlat21 = inversesqrt(u_xlat21);
					    u_xlat0.xyz = vec3(u_xlat21) * u_xlat0.xyz;
					    u_xlat21 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat2.xyz, _WorldSpaceLightPos0.xyz);
					    u_xlat1.x = clamp(u_xlat1.x, 0.0, 1.0);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat8 = clamp(u_xlat8, 0.0, 1.0);
					    u_xlat0.x = dot(_WorldSpaceLightPos0.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat7.x = u_xlat0.x * u_xlat0.x;
					    u_xlat7.x = dot(u_xlat7.xx, vec2(u_xlat22));
					    u_xlat7.x = u_xlat7.x + -0.5;
					    u_xlat14 = (-u_xlat1.x) + 1.0;
					    u_xlat15 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat15 * u_xlat15;
					    u_xlat14 = u_xlat14 * u_xlat15;
					    u_xlat14 = u_xlat7.x * u_xlat14 + 1.0;
					    u_xlat15 = -abs(u_xlat21) + 1.0;
					    u_xlat2.x = u_xlat15 * u_xlat15;
					    u_xlat2.x = u_xlat2.x * u_xlat2.x;
					    u_xlat15 = u_xlat15 * u_xlat2.x;
					    u_xlat7.x = u_xlat7.x * u_xlat15 + 1.0;
					    u_xlat7.x = u_xlat7.x * u_xlat14;
					    u_xlat14 = u_xlat22 * u_xlat22;
					    u_xlat14 = max(u_xlat14, 0.00200000009);
					    u_xlat15 = (-u_xlat14) + 1.0;
					    u_xlat22 = abs(u_xlat21) * u_xlat15 + u_xlat14;
					    u_xlat15 = u_xlat1.x * u_xlat15 + u_xlat14;
					    u_xlat21 = abs(u_xlat21) * u_xlat15;
					    u_xlat21 = u_xlat1.x * u_xlat22 + u_xlat21;
					    u_xlat21 = u_xlat21 + 9.99999975e-06;
					    u_xlat21 = 0.5 / u_xlat21;
					    u_xlat14 = u_xlat14 * u_xlat14;
					    u_xlat15 = u_xlat8 * u_xlat14 + (-u_xlat8);
					    u_xlat8 = u_xlat15 * u_xlat8 + 1.0;
					    u_xlat14 = u_xlat14 * 0.318309873;
					    u_xlat8 = u_xlat8 * u_xlat8 + 1.00000001e-07;
					    u_xlat14 = u_xlat14 / u_xlat8;
					    u_xlat14 = u_xlat14 * u_xlat21;
					    u_xlat7.y = u_xlat14 * 3.14159274;
					    u_xlat7.xy = u_xlat1.xx * u_xlat7.xy;
					    u_xlat14 = max(u_xlat7.y, 0.0);
					    u_xlat21 = dot(u_xlat6.xyz, u_xlat6.xyz);
					    u_xlatb21 = u_xlat21!=0.0;
					    u_xlat21 = u_xlatb21 ? 1.0 : float(0.0);
					    u_xlat14 = u_xlat21 * u_xlat14;
					    u_xlat1.xyz = u_xlat7.xxx * u_xlat5.xyz;
					    u_xlat7.xyz = u_xlat5.xyz * vec3(u_xlat14);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat22 = u_xlat0.x * u_xlat0.x;
					    u_xlat22 = u_xlat22 * u_xlat22;
					    u_xlat0.x = u_xlat0.x * u_xlat22;
					    u_xlat2.xyz = (-u_xlat6.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat6.xyz;
					    u_xlat0.xyz = u_xlat7.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat21 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat21 = (-u_xlat21) + 1.0;
					    u_xlat21 = u_xlat21 * _ProjectionParams.z;
					    u_xlat21 = max(u_xlat21, 0.0);
					    u_xlat21 = u_xlat21 * unity_FogParams.x;
					    u_xlat21 = u_xlat21 * (-u_xlat21);
					    u_xlat21 = exp2(u_xlat21);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat21);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec3 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTexture0, u_xlat2.xx);
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2.x = float(1.0);
					        u_xlat2.y = float(1.0);
					        u_xlat2.z = float(1.0);
					        u_xlat2.w = float(1.0);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat2.x = (-u_xlat11.x) + u_xlat2.x;
					    u_xlat28 = u_xlat28 * u_xlat2.x + u_xlat11.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					bool u_xlatb12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlatb12 = u_xlat31<0.99000001;
					    if(u_xlatb12){
					        u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					        u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					        u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					        u_xlat33 = max(u_xlat33, 9.99999975e-06);
					        u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					        u_xlat33 = _LightProjectionParams.y / u_xlat33;
					        u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					        u_xlat33 = (-u_xlat33) + 1.0;
					        u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					        vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					        u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					        vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					        u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					        vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					        u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					        u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					        vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					        u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					        u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					        u_xlat22 = (-_LightShadowData.x) + 1.0;
					        u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    } else {
					        u_xlat12.x = 1.0;
					    }
					    u_xlat2.x = (-u_xlat12.x) + u_xlat2.x;
					    u_xlat31 = u_xlat31 * u_xlat2.x + u_xlat12.x;
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					float u_xlat10;
					vec3 u_xlat11;
					float u_xlat18;
					float u_xlat20;
					float u_xlat27;
					bool u_xlatb27;
					float u_xlat28;
					int u_xlati28;
					float u_xlat29;
					float u_xlat30;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat1.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlati28 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati28].xyz;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat28 = inversesqrt(u_xlat28);
					    u_xlat3.xyz = vec3(u_xlat28) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat28 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat28 = min(u_xlat28, 1.0);
					    u_xlat28 = (-u_xlat28) + 1.0;
					    u_xlat4.z = sqrt(u_xlat28);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati28 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati28 / 4][u_xlati28 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati28 + 1) / 4][(u_xlati28 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati28 + 2) / 4][(u_xlati28 + 2) % 4].z;
					    u_xlat28 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat28) + u_xlat2.x;
					    u_xlat28 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat28;
					    u_xlat28 = u_xlat28 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat11.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat11.xyz;
					        u_xlat11.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat11.xyz;
					        u_xlat11.xyz = u_xlat11.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat11.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat11.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat30 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat11.x, u_xlat30);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat11.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat30 = max(abs(u_xlat11.y), abs(u_xlat11.x));
					    u_xlat30 = max(abs(u_xlat11.z), u_xlat30);
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.z);
					    u_xlat30 = max(u_xlat30, 9.99999975e-06);
					    u_xlat30 = u_xlat30 * _LightProjectionParams.w;
					    u_xlat30 = _LightProjectionParams.y / u_xlat30;
					    u_xlat30 = u_xlat30 + (-_LightProjectionParams.x);
					    u_xlat30 = (-u_xlat30) + 1.0;
					    vec4 txVec0 = vec4(u_xlat11.xyz,u_xlat30);
					    u_xlat11.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat20 = (-_LightShadowData.x) + 1.0;
					    u_xlat11.x = u_xlat11.x * u_xlat20 + _LightShadowData.x;
					    u_xlat28 = u_xlat28 + u_xlat11.x;
					    u_xlat28 = clamp(u_xlat28, 0.0, 1.0);
					    u_xlat28 = min(u_xlat2.x, u_xlat28);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat28 = u_xlat28 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat29 = inversesqrt(u_xlat29);
					    u_xlat2.xyz = vec3(u_xlat29) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat28) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat28 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat28) * u_xlat5.xyz;
					    u_xlat28 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat27) + u_xlat3.xyz;
					    u_xlat27 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat27 = max(u_xlat27, 0.00100000005);
					    u_xlat27 = inversesqrt(u_xlat27);
					    u_xlat0.xyz = vec3(u_xlat27) * u_xlat0.xyz;
					    u_xlat27 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat29 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat29 = clamp(u_xlat29, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat9.x = u_xlat0.x * u_xlat0.x;
					    u_xlat9.x = dot(u_xlat9.xx, vec2(u_xlat28));
					    u_xlat9.x = u_xlat9.x + -0.5;
					    u_xlat18 = (-u_xlat29) + 1.0;
					    u_xlat1.x = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat1.x;
					    u_xlat18 = u_xlat9.x * u_xlat18 + 1.0;
					    u_xlat1.x = -abs(u_xlat27) + 1.0;
					    u_xlat10 = u_xlat1.x * u_xlat1.x;
					    u_xlat10 = u_xlat10 * u_xlat10;
					    u_xlat1.x = u_xlat1.x * u_xlat10;
					    u_xlat9.x = u_xlat9.x * u_xlat1.x + 1.0;
					    u_xlat9.x = u_xlat9.x * u_xlat18;
					    u_xlat18 = u_xlat28 * u_xlat28;
					    u_xlat18 = max(u_xlat18, 0.00200000009);
					    u_xlat1.x = (-u_xlat18) + 1.0;
					    u_xlat10 = abs(u_xlat27) * u_xlat1.x + u_xlat18;
					    u_xlat1.x = u_xlat29 * u_xlat1.x + u_xlat18;
					    u_xlat27 = abs(u_xlat27) * u_xlat1.x;
					    u_xlat27 = u_xlat29 * u_xlat10 + u_xlat27;
					    u_xlat27 = u_xlat27 + 9.99999975e-06;
					    u_xlat27 = 0.5 / u_xlat27;
					    u_xlat18 = u_xlat18 * u_xlat18;
					    u_xlat1.x = u_xlat2.x * u_xlat18 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat18 = u_xlat18 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat18 = u_xlat18 / u_xlat1.x;
					    u_xlat18 = u_xlat18 * u_xlat27;
					    u_xlat9.y = u_xlat18 * 3.14159274;
					    u_xlat9.xy = vec2(u_xlat29) * u_xlat9.xy;
					    u_xlat18 = max(u_xlat9.y, 0.0);
					    u_xlat27 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb27 = u_xlat27!=0.0;
					    u_xlat27 = u_xlatb27 ? 1.0 : float(0.0);
					    u_xlat18 = u_xlat27 * u_xlat18;
					    u_xlat1.xyz = u_xlat9.xxx * u_xlat4.xyz;
					    u_xlat9.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat28 = u_xlat0.x * u_xlat0.x;
					    u_xlat28 = u_xlat28 * u_xlat28;
					    u_xlat0.x = u_xlat0.x * u_xlat28;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat9.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat27 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat27 = (-u_xlat27) + 1.0;
					    u_xlat27 = u_xlat27 * _ProjectionParams.z;
					    u_xlat27 = max(u_xlat27, 0.0);
					    u_xlat27 = u_xlat27 * unity_FogParams.x;
					    u_xlat27 = u_xlat27 * (-u_xlat27);
					    u_xlat27 = exp2(u_xlat27);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat27);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 unused_1_3[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_4_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_4_2[10];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_5_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlat8.x = unity_MatrixV[0].z;
					    u_xlat8.y = unity_MatrixV[1].z;
					    u_xlat8.z = unity_MatrixV[2].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "LIGHTMAP_SHADOW_MIXING" "POINT_COOKIE" "SHADOWS_CUBE" "SHADOWS_SHADOWMASK" "SHADOWS_SOFT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _LightColor0;
						vec4 unused_0_2;
						mat4x4 unity_WorldToLight;
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_12;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 _LightPositionRange;
						vec4 _LightProjectionParams;
						vec4 unused_2_3[43];
						vec4 unity_OcclusionMaskSelector;
						vec4 unused_2_5;
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_3_0[24];
						vec4 _LightShadowData;
						vec4 unity_ShadowFadeCenterAndType;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_4_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_4_2[52];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_4_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_6_0;
						vec4 unity_FogParams;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D _LightTextureB0;
					uniform  samplerCube _LightTexture0;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					uniform  samplerCube _ShadowMapTexture;
					uniform  samplerCubeShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec2 vs_TEXCOORD0;
					in  float vs_TEXCOORD7;
					in  vec3 vs_TEXCOORD1;
					in  vec3 vs_TEXCOORD2;
					in  vec3 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD4;
					in  vec4 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec3 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec3 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat11;
					vec3 u_xlat12;
					float u_xlat20;
					float u_xlat22;
					float u_xlat30;
					bool u_xlatb30;
					float u_xlat31;
					int u_xlati31;
					float u_xlat32;
					float u_xlat33;
					void main()
					{
					    u_xlat0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat1.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlati31 = unity_StereoEyeIndex;
					    u_xlat2.xyz = (-vs_TEXCOORD4.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati31].xyz;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat31 = inversesqrt(u_xlat31);
					    u_xlat3.xyz = vec3(u_xlat31) * u_xlat2.xyz;
					    u_xlat4.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat4 = texture(_NormalMap, u_xlat4.xy);
					    u_xlat4.x = u_xlat4.w * u_xlat4.x;
					    u_xlat4.xy = u_xlat4.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat31 = dot(u_xlat4.xy, u_xlat4.xy);
					    u_xlat31 = min(u_xlat31, 1.0);
					    u_xlat31 = (-u_xlat31) + 1.0;
					    u_xlat4.z = sqrt(u_xlat31);
					    u_xlat5.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat5 = texture(_BaseColor, u_xlat5.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat6 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat7.xyz = u_xlat5.xyz * _Color04.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color01.xyz + (-u_xlat7.xyz);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat8.xyz = u_xlat5.xyz * _Color02.xyz + (-u_xlat7.xyz);
					    u_xlat6.xyw = u_xlat6.yyy * u_xlat8.xyz + u_xlat7.xyz;
					    u_xlat5.xyz = u_xlat5.xyz * _Color03.xyz + (-u_xlat6.xyw);
					    u_xlat5.xyz = u_xlat6.zzz * u_xlat5.xyz + u_xlat6.xyw;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat6 = texture(_MetallicRAOGGlossA, u_xlat6.xy);
					    u_xlat7.xyz = vs_TEXCOORD4.yyy * unity_WorldToLight[1].xyz;
					    u_xlat7.xyz = unity_WorldToLight[0].xyz * vs_TEXCOORD4.xxx + u_xlat7.xyz;
					    u_xlat7.xyz = unity_WorldToLight[2].xyz * vs_TEXCOORD4.zzz + u_xlat7.xyz;
					    u_xlat7.xyz = u_xlat7.xyz + unity_WorldToLight[3].xyz;
					    u_xlati31 = unity_StereoEyeIndex << 2;
					    u_xlat8.x = unity_StereoMatrixV[u_xlati31 / 4][u_xlati31 % 4].z;
					    u_xlat8.y = unity_StereoMatrixV[(u_xlati31 + 1) / 4][(u_xlati31 + 1) % 4].z;
					    u_xlat8.z = unity_StereoMatrixV[(u_xlati31 + 2) / 4][(u_xlati31 + 2) % 4].z;
					    u_xlat31 = dot(u_xlat2.xyz, u_xlat8.xyz);
					    u_xlat2.xyz = vs_TEXCOORD4.xyz + (-unity_ShadowFadeCenterAndType.xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat2.x = sqrt(u_xlat2.x);
					    u_xlat2.x = (-u_xlat31) + u_xlat2.x;
					    u_xlat31 = unity_ShadowFadeCenterAndType.w * u_xlat2.x + u_xlat31;
					    u_xlat31 = u_xlat31 * _LightShadowData.z + _LightShadowData.w;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlatb2 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb2){
					        u_xlatb2 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat12.xyz = vs_TEXCOORD4.yyy * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD4.xxx + u_xlat12.xyz;
					        u_xlat12.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD4.zzz + u_xlat12.xyz;
					        u_xlat12.xyz = u_xlat12.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat2.xyz = (bool(u_xlatb2)) ? u_xlat12.xyz : vs_TEXCOORD4.xyz;
					        u_xlat2.xyz = u_xlat2.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat2.yzw = u_xlat2.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat12.x = u_xlat2.y * 0.25 + 0.75;
					        u_xlat33 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat2.x = max(u_xlat12.x, u_xlat33);
					        u_xlat2 = texture(unity_ProbeVolumeSH, u_xlat2.xzw);
					    } else {
					        u_xlat2 = texture(unity_ShadowMask, vs_TEXCOORD6.xy);
					    }
					    u_xlat2.x = dot(u_xlat2, unity_OcclusionMaskSelector);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat12.xyz = vs_TEXCOORD4.xyz + (-_LightPositionRange.xyz);
					    u_xlat33 = max(abs(u_xlat12.y), abs(u_xlat12.x));
					    u_xlat33 = max(abs(u_xlat12.z), u_xlat33);
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.z);
					    u_xlat33 = max(u_xlat33, 9.99999975e-06);
					    u_xlat33 = u_xlat33 * _LightProjectionParams.w;
					    u_xlat33 = _LightProjectionParams.y / u_xlat33;
					    u_xlat33 = u_xlat33 + (-_LightProjectionParams.x);
					    u_xlat33 = (-u_xlat33) + 1.0;
					    u_xlat8.xyz = u_xlat12.xyz + vec3(0.0078125, 0.0078125, 0.0078125);
					    vec4 txVec0 = vec4(u_xlat8.xyz,u_xlat33);
					    u_xlat8.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, -0.0078125, 0.0078125);
					    vec4 txVec1 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.y = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec1, 0.0);
					    u_xlat9.xyz = u_xlat12.xyz + vec3(-0.0078125, 0.0078125, -0.0078125);
					    vec4 txVec2 = vec4(u_xlat9.xyz,u_xlat33);
					    u_xlat8.z = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec2, 0.0);
					    u_xlat12.xyz = u_xlat12.xyz + vec3(0.0078125, -0.0078125, -0.0078125);
					    vec4 txVec3 = vec4(u_xlat12.xyz,u_xlat33);
					    u_xlat8.w = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec3, 0.0);
					    u_xlat12.x = dot(u_xlat8, vec4(0.25, 0.25, 0.25, 0.25));
					    u_xlat22 = (-_LightShadowData.x) + 1.0;
					    u_xlat12.x = u_xlat12.x * u_xlat22 + _LightShadowData.x;
					    u_xlat31 = u_xlat31 + u_xlat12.x;
					    u_xlat31 = clamp(u_xlat31, 0.0, 1.0);
					    u_xlat31 = min(u_xlat2.x, u_xlat31);
					    u_xlat2.x = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlat2 = texture(_LightTextureB0, u_xlat2.xx);
					    u_xlat7 = texture(_LightTexture0, u_xlat7.xyz);
					    u_xlat2.x = u_xlat2.x * u_xlat7.w;
					    u_xlat31 = u_xlat31 * u_xlat2.x;
					    u_xlat2.x = dot(vs_TEXCOORD1.xyz, u_xlat4.xyz);
					    u_xlat2.y = dot(vs_TEXCOORD2.xyz, u_xlat4.xyz);
					    u_xlat2.z = dot(vs_TEXCOORD3.xyz, u_xlat4.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat32 = inversesqrt(u_xlat32);
					    u_xlat2.xyz = vec3(u_xlat32) * u_xlat2.xyz;
					    u_xlat4.xyz = vec3(u_xlat31) * _LightColor0.xyz;
					    u_xlat7.xyz = u_xlat5.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    u_xlat7.xyz = u_xlat6.xxx * u_xlat7.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat31 = (-u_xlat6.x) * 0.959999979 + 0.959999979;
					    u_xlat5.xyz = vec3(u_xlat31) * u_xlat5.xyz;
					    u_xlat31 = (-u_xlat6.w) + 1.0;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat30) + u_xlat3.xyz;
					    u_xlat30 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat30 = max(u_xlat30, 0.00100000005);
					    u_xlat30 = inversesqrt(u_xlat30);
					    u_xlat0.xyz = vec3(u_xlat30) * u_xlat0.xyz;
					    u_xlat30 = dot(u_xlat2.xyz, u_xlat3.xyz);
					    u_xlat32 = dot(u_xlat2.xyz, u_xlat1.xyz);
					    u_xlat32 = clamp(u_xlat32, 0.0, 1.0);
					    u_xlat2.x = dot(u_xlat2.xyz, u_xlat0.xyz);
					    u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat0.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat10.x = u_xlat0.x * u_xlat0.x;
					    u_xlat10.x = dot(u_xlat10.xx, vec2(u_xlat31));
					    u_xlat10.x = u_xlat10.x + -0.5;
					    u_xlat20 = (-u_xlat32) + 1.0;
					    u_xlat1.x = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat1.x;
					    u_xlat20 = u_xlat10.x * u_xlat20 + 1.0;
					    u_xlat1.x = -abs(u_xlat30) + 1.0;
					    u_xlat11 = u_xlat1.x * u_xlat1.x;
					    u_xlat11 = u_xlat11 * u_xlat11;
					    u_xlat1.x = u_xlat1.x * u_xlat11;
					    u_xlat10.x = u_xlat10.x * u_xlat1.x + 1.0;
					    u_xlat10.x = u_xlat10.x * u_xlat20;
					    u_xlat20 = u_xlat31 * u_xlat31;
					    u_xlat20 = max(u_xlat20, 0.00200000009);
					    u_xlat1.x = (-u_xlat20) + 1.0;
					    u_xlat11 = abs(u_xlat30) * u_xlat1.x + u_xlat20;
					    u_xlat1.x = u_xlat32 * u_xlat1.x + u_xlat20;
					    u_xlat30 = abs(u_xlat30) * u_xlat1.x;
					    u_xlat30 = u_xlat32 * u_xlat11 + u_xlat30;
					    u_xlat30 = u_xlat30 + 9.99999975e-06;
					    u_xlat30 = 0.5 / u_xlat30;
					    u_xlat20 = u_xlat20 * u_xlat20;
					    u_xlat1.x = u_xlat2.x * u_xlat20 + (-u_xlat2.x);
					    u_xlat1.x = u_xlat1.x * u_xlat2.x + 1.0;
					    u_xlat20 = u_xlat20 * 0.318309873;
					    u_xlat1.x = u_xlat1.x * u_xlat1.x + 1.00000001e-07;
					    u_xlat20 = u_xlat20 / u_xlat1.x;
					    u_xlat20 = u_xlat20 * u_xlat30;
					    u_xlat10.y = u_xlat20 * 3.14159274;
					    u_xlat10.xy = vec2(u_xlat32) * u_xlat10.xy;
					    u_xlat20 = max(u_xlat10.y, 0.0);
					    u_xlat30 = dot(u_xlat7.xyz, u_xlat7.xyz);
					    u_xlatb30 = u_xlat30!=0.0;
					    u_xlat30 = u_xlatb30 ? 1.0 : float(0.0);
					    u_xlat20 = u_xlat30 * u_xlat20;
					    u_xlat1.xyz = u_xlat10.xxx * u_xlat4.xyz;
					    u_xlat10.xyz = u_xlat4.xyz * vec3(u_xlat20);
					    u_xlat0.x = (-u_xlat0.x) + 1.0;
					    u_xlat31 = u_xlat0.x * u_xlat0.x;
					    u_xlat31 = u_xlat31 * u_xlat31;
					    u_xlat0.x = u_xlat0.x * u_xlat31;
					    u_xlat2.xyz = (-u_xlat7.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat0.xxx + u_xlat7.xyz;
					    u_xlat0.xyz = u_xlat10.xyz * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat5.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat30 = vs_TEXCOORD7 / _ProjectionParams.y;
					    u_xlat30 = (-u_xlat30) + 1.0;
					    u_xlat30 = u_xlat30 * _ProjectionParams.z;
					    u_xlat30 = max(u_xlat30, 0.0);
					    u_xlat30 = u_xlat30 * unity_FogParams.x;
					    u_xlat30 = u_xlat30 * (-u_xlat30);
					    u_xlat30 = exp2(u_xlat30);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(u_xlat30);
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
			}
		}
		Pass {
			Name "DEFERRED"
			Tags { "LIGHTMODE" = "DEFERRED" "QUEUE" = "Geometry+0" "RenderType" = "Opaque" }
			GpuProgramID 160525
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat2.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[42];
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_5[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					int u_xlati12;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat1.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat2 = u_xlat0.xxxx * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_SHBr, u_xlat1);
					    u_xlat2.y = dot(unity_SHBg, u_xlat1);
					    u_xlat2.z = dot(unity_SHBb, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_SHC.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unused_4_0;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unused_4_1;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlat2 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat1 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat0.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2.xyz = vec3(u_xlat13) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat3.xyz = vec3(u_xlat12) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati12 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati12].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat4.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat4.x = inversesqrt(u_xlat4.x);
					    u_xlat3 = u_xlat4.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat4.x = u_xlat3.y * u_xlat3.y;
					    u_xlat4.x = u_xlat3.x * u_xlat3.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat3.ywzx * u_xlat3;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat4.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat4.x = inversesqrt(u_xlat4.x);
					    u_xlat3 = u_xlat4.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat4.x = u_xlat3.y * u_xlat3.y;
					    u_xlat4.x = u_xlat3.x * u_xlat3.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat3.ywzx * u_xlat3;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2 = vec4(u_xlat13) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat4.x = u_xlat2.y * u_xlat2.y;
					    u_xlat4.x = u_xlat2.x * u_xlat2.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlati4 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati4 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.xzw = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat0.xzw;
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat0.xzw;
					    u_xlat13 = dot(u_xlat0.xzw, u_xlat0.xzw);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat0.xzw = u_xlat0.xzw * vec3(u_xlat13);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2 = vec4(u_xlat13) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat0.xzw * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat0.zwx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat0.w;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat0.x;
					    vs_TEXCOORD3.x = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    u_xlat0.xyz = (-u_xlat0.xzw) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xzw) + unity_StereoWorldSpaceCameraPos[u_xlati4].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    u_xlat0.xyz = (-u_xlat0.xzw) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xzw) + unity_StereoWorldSpaceCameraPos[u_xlati4].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    u_xlat0.xyz = (-u_xlat0.xzw) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xzw) + unity_StereoWorldSpaceCameraPos[u_xlati4].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    u_xlat0.xyz = (-u_xlat0.xzw) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xzw) + unity_StereoWorldSpaceCameraPos[u_xlati4].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.yzx * u_xlat2.zxy;
					    u_xlat3.xyz = u_xlat2.yzx * u_xlat4.zxy + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat4.z;
					    vs_TEXCOORD3.z = u_xlat2.z;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    u_xlat1.xyz = (-u_xlat1.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat1.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat1.xyz, u_xlat4.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat1.xyz, u_xlat2.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					int u_xlati13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.yzx * u_xlat2.zxy;
					    u_xlat3.xyz = u_xlat2.yzx * u_xlat4.zxy + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat4.z;
					    vs_TEXCOORD3.z = u_xlat2.z;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati13 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat1.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati13].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat1.xyz, u_xlat4.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat1.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat1.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    u_xlat0.xyz = (-u_xlat0.xzw) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xzw) + unity_StereoWorldSpaceCameraPos[u_xlati4].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    u_xlat0.xyz = (-u_xlat0.xzw) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xzw) + unity_StereoWorldSpaceCameraPos[u_xlati4].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.yzx * u_xlat2.zxy;
					    u_xlat3.xyz = u_xlat2.yzx * u_xlat4.zxy + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat4.z;
					    vs_TEXCOORD3.z = u_xlat2.z;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    u_xlat1.xyz = (-u_xlat1.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat1.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat1.xyz, u_xlat4.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat1.xyz, u_xlat2.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					int u_xlati13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.yzx * u_xlat2.zxy;
					    u_xlat3.xyz = u_xlat2.yzx * u_xlat4.zxy + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat4.z;
					    vs_TEXCOORD3.z = u_xlat2.z;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati13 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat1.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati13].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat1.xyz, u_xlat4.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat1.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat1.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat4.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat4.x = inversesqrt(u_xlat4.x);
					    u_xlat3 = u_xlat4.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat4.x = u_xlat3.y * u_xlat3.y;
					    u_xlat4.x = u_xlat3.x * u_xlat3.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat3.ywzx * u_xlat3;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[14];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 * 7;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat3.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat3.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat4.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat4.x = inversesqrt(u_xlat4.x);
					    u_xlat3 = u_xlat4.xxxx * u_xlat3.xyzz;
					    u_xlat4.xyz = u_xlat2.xyz * u_xlat3.wxy;
					    u_xlat4.xyz = u_xlat3.ywx * u_xlat2.yzx + (-u_xlat4.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    vs_TEXCOORD1.y = u_xlat4.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat3.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.y = u_xlat4.y;
					    vs_TEXCOORD3.y = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat3.y;
					    vs_TEXCOORD3.z = u_xlat3.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat4.x = u_xlat3.y * u_xlat3.y;
					    u_xlat4.x = u_xlat3.x * u_xlat3.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat3.ywzx * u_xlat3;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					float u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat0 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat0 = inversesqrt(u_xlat0);
					    u_xlat2.xyz = vec3(u_xlat0) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat0) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)];
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].yzx;
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2 = vec4(u_xlat13) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat1.yzx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD1.w = u_xlat4.x;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat4.y;
					    vs_TEXCOORD3.w = u_xlat4.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat4.x = u_xlat2.y * u_xlat2.y;
					    u_xlat4.x = u_xlat2.x * u_xlat2.x + (-u_xlat4.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat4.xxx + u_xlat2.xyz;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec4 vs_TEXCOORD5;
					out vec3 vs_TEXCOORD6;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlati4 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati4 << 3;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.xzw = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat0.xzw;
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat0.xzw;
					    u_xlat13 = dot(u_xlat0.xzw, u_xlat0.xzw);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat0.xzw = u_xlat0.xzw * vec3(u_xlat13);
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat2 = vec4(u_xlat13) * u_xlat2.xyzz;
					    u_xlat3.xyz = u_xlat0.xzw * u_xlat2.wxy;
					    u_xlat3.xyz = u_xlat2.ywx * u_xlat0.zwx + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat0.w;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat0.x;
					    vs_TEXCOORD3.x = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD3.z = u_xlat2.w;
					    vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0);
					    u_xlat0.x = u_xlat2.y * u_xlat2.y;
					    u_xlat0.x = u_xlat2.x * u_xlat2.x + (-u_xlat0.x);
					    u_xlat1 = u_xlat2.ywzx * u_xlat2;
					    u_xlat2.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBrArray, u_xlat1);
					    u_xlat2.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBgArray, u_xlat1);
					    u_xlat2.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHBbArray, u_xlat1);
					    vs_TEXCOORD6.xyz = unity_Builtins2Array.unity_Builtins2Array.unity_SHCArray.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    u_xlat0.xyz = (-u_xlat0.xzw) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xzw) + unity_StereoWorldSpaceCameraPos[u_xlati4].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    u_xlat0.xyz = (-u_xlat0.xzw) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xzw) + unity_StereoWorldSpaceCameraPos[u_xlati4].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.xy = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    u_xlat0.xyz = (-u_xlat0.xzw) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xzw) + unity_StereoWorldSpaceCameraPos[u_xlati4].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.yzx * u_xlat2.zxy;
					    u_xlat3.xyz = u_xlat2.yzx * u_xlat4.zxy + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat4.z;
					    vs_TEXCOORD3.z = u_xlat2.z;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    u_xlat1.xyz = (-u_xlat1.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat1.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat1.xyz, u_xlat4.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat1.xyz, u_xlat2.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					int u_xlati13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.yzx * u_xlat2.zxy;
					    u_xlat3.xyz = u_xlat2.yzx * u_xlat4.zxy + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat4.z;
					    vs_TEXCOORD3.z = u_xlat2.z;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati13 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat1.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati13].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat1.xyz, u_xlat4.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat1.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat1.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    u_xlat0.xyz = (-u_xlat0.xzw) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xzw) + unity_StereoWorldSpaceCameraPos[u_xlati4].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    u_xlat0.xyz = (-u_xlat0.xzw) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xzw) + unity_StereoWorldSpaceCameraPos[u_xlati4].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat1 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    u_xlat0.xyz = (-u_xlat0.xzw) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					int u_xlati4;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat0.xzw = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat13 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat1.xyz = vec3(u_xlat13) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat4 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat4 = inversesqrt(u_xlat4);
					    u_xlat2.xyz = vec3(u_xlat4) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx;
					    u_xlat3.xyz = u_xlat1.yzx * u_xlat2.zxy + (-u_xlat3.xyz);
					    u_xlat4 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat4) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.x;
					    vs_TEXCOORD1.z = u_xlat1.x;
					    vs_TEXCOORD1.w = u_xlat0.x;
					    vs_TEXCOORD2.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.y;
					    vs_TEXCOORD2.w = u_xlat0.z;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat2.z;
					    vs_TEXCOORD3.z = u_xlat1.z;
					    vs_TEXCOORD3.w = u_xlat0.w;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati4 = unity_StereoEyeIndex;
					    u_xlat0.xyz = (-u_xlat0.xzw) + unity_StereoWorldSpaceCameraPos[u_xlati4].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat0.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat0.xyz, u_xlat1.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat0.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = vec2(0.0, 0.0);
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 unused_1_2[4];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_2_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					float u_xlat13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlat3 = u_xlat2.yyyy * unity_MatrixVP[1];
					    u_xlat3 = unity_MatrixVP[0] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_MatrixVP[2] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_MatrixVP[3] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.yzx * u_xlat2.zxy;
					    u_xlat3.xyz = u_xlat2.yzx * u_xlat4.zxy + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat4.z;
					    vs_TEXCOORD3.z = u_xlat2.z;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    u_xlat1.xyz = (-u_xlat1.xyz) + _WorldSpaceCameraPos.xyz;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    vs_TEXCOORD4.y = dot(u_xlat1.xyz, u_xlat3.xyz);
					    vs_TEXCOORD4.x = dot(u_xlat1.xyz, u_xlat4.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat1.xyz, u_xlat2.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[12];
						vec4 _texcoord_ST;
						vec4 unused_0_2[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[36];
						vec3 unity_StereoWorldSpaceCameraPos[2];
						vec4 unused_2_4[3];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_LightmapSTArray;
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_6_1[4];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					out vec3 vs_TEXCOORD4;
					out vec4 vs_TEXCOORD5;
					flat out uint vs_SV_InstanceID0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					int u_xlati4;
					float u_xlat8;
					int u_xlati8;
					float u_xlat13;
					int u_xlati13;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati0 << 3;
					    u_xlati0 = u_xlati0 << 1;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat2 = u_xlat1 + unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)];
					    u_xlat1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat1.xyz;
					    u_xlati8 = unity_StereoEyeIndex << 2;
					    u_xlat3 = u_xlat2.yyyy * unity_StereoMatrixVP[(u_xlati8 + 1) / 4][(u_xlati8 + 1) % 4];
					    u_xlat3 = unity_StereoMatrixVP[u_xlati8 / 4][u_xlati8 % 4] * u_xlat2.xxxx + u_xlat3;
					    u_xlat3 = unity_StereoMatrixVP[(u_xlati8 + 2) / 4][(u_xlati8 + 2) % 4] * u_xlat2.zzzz + u_xlat3;
					    gl_Position = unity_StereoMatrixVP[(u_xlati8 + 3) / 4][(u_xlati8 + 3) % 4] * u_xlat2.wwww + u_xlat3;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_TANGENT0.xxx + u_xlat3.xyz;
					    u_xlat4.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_TANGENT0.zzz + u_xlat3.xyz;
					    u_xlat13 = dot(u_xlat4.xyz, u_xlat4.xyz);
					    u_xlat13 = inversesqrt(u_xlat13);
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat13);
					    u_xlat3.xyz = u_xlat4.yzx * u_xlat2.zxy;
					    u_xlat3.xyz = u_xlat2.yzx * u_xlat4.zxy + (-u_xlat3.xyz);
					    u_xlat13 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat3.xyz = vec3(u_xlat13) * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat4.x;
					    vs_TEXCOORD1.z = u_xlat2.x;
					    vs_TEXCOORD1.w = u_xlat1.x;
					    vs_TEXCOORD2.x = u_xlat4.y;
					    vs_TEXCOORD2.z = u_xlat2.y;
					    vs_TEXCOORD2.w = u_xlat1.y;
					    vs_TEXCOORD2.y = u_xlat3.y;
					    vs_TEXCOORD3.x = u_xlat4.z;
					    vs_TEXCOORD3.z = u_xlat2.z;
					    vs_TEXCOORD3.w = u_xlat1.z;
					    vs_TEXCOORD3.y = u_xlat3.z;
					    u_xlati13 = unity_StereoEyeIndex;
					    u_xlat1.xyz = (-u_xlat1.xyz) + unity_StereoWorldSpaceCameraPos[u_xlati13].xyz;
					    vs_TEXCOORD4.x = dot(u_xlat1.xyz, u_xlat4.xyz);
					    vs_TEXCOORD4.z = dot(u_xlat1.xyz, u_xlat2.xyz);
					    vs_TEXCOORD4.y = dot(u_xlat1.xyz, u_xlat3.xyz);
					    vs_TEXCOORD5.zw = in_TEXCOORD2.xy * unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_DynamicLightmapSTArray.zw;
					    vs_TEXCOORD5.xy = in_TEXCOORD1.xy * unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.xy + unity_Builtins2Array.unity_Builtins2Array.unity_LightmapSTArray.zw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    SV_Target0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat1.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat1.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat1.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    SV_Target3 = vec4(1.0, 1.0, 1.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    SV_Target0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat1.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat1.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat1.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    SV_Target3 = vec4(1.0, 1.0, 1.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_4[6];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_4[6];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_4[5];
						vec4 unity_ProbesOcclusion;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb14 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb14)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14 = u_xlat3.y * 0.25;
					        u_xlat9 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat4.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat14 = max(u_xlat14, u_xlat9);
					        u_xlat3.x = min(u_xlat4.x, u_xlat14);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    if(u_xlatb19){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat6.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat6.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat19 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat6.x, u_xlat19);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        SV_Target4 = unity_ProbesOcclusion;
					    }
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_4[5];
						vec4 unity_ProbesOcclusion;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb14 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb14)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14 = u_xlat3.y * 0.25;
					        u_xlat9 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat4.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat14 = max(u_xlat14, u_xlat9);
					        u_xlat3.x = min(u_xlat4.x, u_xlat14);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    if(u_xlatb19){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat6.xyz : u_xlat10.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat6.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat19 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat6.x, u_xlat19);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        SV_Target4 = unity_ProbesOcclusion;
					    }
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat1.xzw = log2(u_xlat1.xzw);
					    u_xlat1.xzw = u_xlat1.xzw * unity_DynamicLightmap_HDR.yyy;
					    u_xlat1.xzw = exp2(u_xlat1.xzw);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat1.xzw = log2(u_xlat1.xzw);
					    u_xlat1.xzw = u_xlat1.xzw * unity_DynamicLightmap_HDR.yyy;
					    u_xlat1.xzw = exp2(u_xlat1.xzw);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[47];
						vec4 unity_ProbesOcclusion;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat9;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat15 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat0.z = sqrt(u_xlat15);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat15 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat15);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat4 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat15 = u_xlat15 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    u_xlat15 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat15);
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat15 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat9.x = vs_TEXCOORD1.w;
					        u_xlat9.y = vs_TEXCOORD2.w;
					        u_xlat9.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat5.xyz : u_xlat9.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat5.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat16 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat5.x, u_xlat16);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        SV_Target4 = unity_ProbesOcclusion;
					    }
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[47];
						vec4 unity_ProbesOcclusion;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat9;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat15 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat0.z = sqrt(u_xlat15);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat15 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat15);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat4 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat15 = u_xlat15 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    u_xlat15 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat15);
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat15 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat9.x = vs_TEXCOORD1.w;
					        u_xlat9.y = vs_TEXCOORD2.w;
					        u_xlat9.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat5.xyz : u_xlat9.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat5.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat16 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat5.x, u_xlat16);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        SV_Target4 = unity_ProbesOcclusion;
					    }
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    SV_Target0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat1.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat1.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat1.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    SV_Target3 = vec4(0.0, 0.0, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    SV_Target0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat1.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat1.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat1.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    SV_Target3 = vec4(0.0, 0.0, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_4[6];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_4[6];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[47];
						vec4 unity_ProbesOcclusion;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat15 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat0.z = sqrt(u_xlat15);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat3.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat15 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    SV_Target0.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.x = vs_TEXCOORD1.w;
					        u_xlat6.y = vs_TEXCOORD2.w;
					        u_xlat6.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat5.xyz : u_xlat6.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat5.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat1.x = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat5.x, u_xlat1.x);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        SV_Target4 = unity_ProbesOcclusion;
					    }
					    SV_Target0.w = u_xlat2.y;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3 = vec4(0.0, 0.0, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[47];
						vec4 unity_ProbesOcclusion;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat15 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat0.z = sqrt(u_xlat15);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat3.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat15 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    SV_Target0.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.x = vs_TEXCOORD1.w;
					        u_xlat6.y = vs_TEXCOORD2.w;
					        u_xlat6.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat5.xyz : u_xlat6.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat5.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat1.x = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat5.x, u_xlat1.x);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        SV_Target4 = unity_ProbesOcclusion;
					    }
					    SV_Target0.w = u_xlat2.y;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3 = vec4(0.0, 0.0, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_4[5];
						vec4 unity_ProbesOcclusion;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb14 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb14)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14 = u_xlat3.y * 0.25;
					        u_xlat9.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat4.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat14 = max(u_xlat14, u_xlat9.x);
					        u_xlat3.x = min(u_xlat4.x, u_xlat14);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    if(u_xlatb19){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat9.x = vs_TEXCOORD1.w;
					        u_xlat9.y = vs_TEXCOORD2.w;
					        u_xlat9.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat6.xyz : u_xlat9.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat6.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat19 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat6.x, u_xlat19);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        SV_Target4 = unity_ProbesOcclusion;
					    }
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unused_1_4[5];
						vec4 unity_ProbesOcclusion;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					bool u_xlatb14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb14 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb14)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat14 = u_xlat3.y * 0.25;
					        u_xlat9.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat4.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat14 = max(u_xlat14, u_xlat9.x);
					        u_xlat3.x = min(u_xlat4.x, u_xlat14);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    if(u_xlatb19){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat6.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat6.xyz;
					        u_xlat6.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat6.xyz;
					        u_xlat6.xyz = u_xlat6.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat9.x = vs_TEXCOORD1.w;
					        u_xlat9.y = vs_TEXCOORD2.w;
					        u_xlat9.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat6.xyz : u_xlat9.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat6.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat19 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat6.x, u_xlat19);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        SV_Target4 = unity_ProbesOcclusion;
					    }
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat1.xzw = log2(u_xlat1.xzw);
					    u_xlat1.xzw = u_xlat1.xzw * unity_DynamicLightmap_HDR.yyy;
					    u_xlat1.xzw = exp2(u_xlat1.xzw);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat1.xzw = log2(u_xlat1.xzw);
					    u_xlat1.xzw = u_xlat1.xzw * unity_DynamicLightmap_HDR.yyy;
					    u_xlat1.xzw = exp2(u_xlat1.xzw);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[47];
						vec4 unity_ProbesOcclusion;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat15 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat0.z = sqrt(u_xlat15);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat15 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat15);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat4 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat15 = u_xlat15 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    u_xlat15 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat15);
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat15 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.x = vs_TEXCOORD1.w;
					        u_xlat8.y = vs_TEXCOORD2.w;
					        u_xlat8.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat5.xyz : u_xlat8.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat5.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat16 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat5.x, u_xlat16);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        SV_Target4 = unity_ProbesOcclusion;
					    }
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[47];
						vec4 unity_ProbesOcclusion;
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat15 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat0.z = sqrt(u_xlat15);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat15 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat15);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat4 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat15 = u_xlat15 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    u_xlat15 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat15);
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat15 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.x = vs_TEXCOORD1.w;
					        u_xlat8.y = vs_TEXCOORD2.w;
					        u_xlat8.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat5.xyz : u_xlat8.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat5.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat16 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat5.x, u_xlat16);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        SV_Target4 = unity_ProbesOcclusion;
					    }
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    SV_Target0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat1.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat1.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat1.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    SV_Target3 = vec4(1.0, 1.0, 1.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    SV_Target0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat1.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat1.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat1.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    SV_Target3 = vec4(1.0, 1.0, 1.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					int u_xlati19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlati19 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati19 = u_xlati19 * 7;
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat0);
					        u_xlat4.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat0);
					        u_xlat4.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat0);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					int u_xlati19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlati19 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati19 = u_xlati19 * 7;
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat0);
					        u_xlat4.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat0);
					        u_xlat4.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat0);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[16];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb14;
					float u_xlat19;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat1 = texture(_NormalMap, u_xlat6.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat1.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat6.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat6.x = min(u_xlat6.x, 1.0);
					    u_xlat6.x = (-u_xlat6.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat6.x);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat2 = texture(_BaseColor, u_xlat6.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat2.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat4.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat3.yyy * u_xlat4.xyz + u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Color03.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat3.zzz * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat1.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat1.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlatb14 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb14){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat9.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat9.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat9.xyz;
					        u_xlat9.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat9.xyz;
					        u_xlat9.xyz = u_xlat9.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat9.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat9.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat10.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat9.x = max(u_xlat9.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat10.x, u_xlat9.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat1.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat1);
					        u_xlat4.y = dot(u_xlat5, u_xlat1);
					        u_xlat4.z = dot(u_xlat3, u_xlat1);
					    } else {
					        u_xlati3 = u_xlati0 << 3;
					        u_xlat1.w = 1.0;
					        u_xlat4.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat1);
					        u_xlat4.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat1);
					        u_xlat4.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat1);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat19 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat19);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat6.xyz;
					    SV_Target2.xyz = u_xlat1.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    if(u_xlatb14){
					        u_xlatb1 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat1.xyz = (bool(u_xlatb1)) ? u_xlat7.xyz : u_xlat10.xyz;
					        u_xlat1.xyz = u_xlat1.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat1.yzw = u_xlat1.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat7.x = u_xlat1.y * 0.25 + 0.75;
					        u_xlat2.x = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat1.x = max(u_xlat7.x, u_xlat2.x);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat1.xzw);
					    } else {
					        u_xlati0 = u_xlati0 << 3;
					        SV_Target4 = unity_Builtins2Array.unity_Builtins2Array.unity_ProbesOcclusionArray;
					    }
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat6.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[16];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb14;
					float u_xlat19;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat1 = texture(_NormalMap, u_xlat6.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat1.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat6.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat6.x = min(u_xlat6.x, 1.0);
					    u_xlat6.x = (-u_xlat6.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat6.x);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat2 = texture(_BaseColor, u_xlat6.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat2.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat4.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat3.yyy * u_xlat4.xyz + u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Color03.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat3.zzz * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat1.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat1.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlatb14 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb14){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat9.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat9.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat9.xyz;
					        u_xlat9.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat9.xyz;
					        u_xlat9.xyz = u_xlat9.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat9.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat9.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat10.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat9.x = max(u_xlat9.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat10.x, u_xlat9.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat1.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat1);
					        u_xlat4.y = dot(u_xlat5, u_xlat1);
					        u_xlat4.z = dot(u_xlat3, u_xlat1);
					    } else {
					        u_xlati3 = u_xlati0 << 3;
					        u_xlat1.w = 1.0;
					        u_xlat4.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat1);
					        u_xlat4.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat1);
					        u_xlat4.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat1);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat19 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat19);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat6.xyz;
					    SV_Target2.xyz = u_xlat1.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    if(u_xlatb14){
					        u_xlatb1 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat1.xyz = (bool(u_xlatb1)) ? u_xlat7.xyz : u_xlat10.xyz;
					        u_xlat1.xyz = u_xlat1.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat1.yzw = u_xlat1.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat7.x = u_xlat1.y * 0.25 + 0.75;
					        u_xlat2.x = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat1.x = max(u_xlat7.x, u_xlat2.x);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat1.xzw);
					    } else {
					        u_xlati0 = u_xlati0 << 3;
					        SV_Target4 = unity_Builtins2Array.unity_Builtins2Array.unity_ProbesOcclusionArray;
					    }
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat6.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat1.xzw = log2(u_xlat1.xzw);
					    u_xlat1.xzw = u_xlat1.xzw * unity_DynamicLightmap_HDR.yyy;
					    u_xlat1.xzw = exp2(u_xlat1.xzw);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat1.xzw = log2(u_xlat1.xzw);
					    u_xlat1.xzw = u_xlat1.xzw * unity_DynamicLightmap_HDR.yyy;
					    u_xlat1.xzw = exp2(u_xlat1.xzw);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[4];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat9;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat15 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat0.z = sqrt(u_xlat15);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat15 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat15);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat4 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat15 = u_xlat15 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    u_xlat15 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat15);
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat15 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat9.x = vs_TEXCOORD1.w;
					        u_xlat9.y = vs_TEXCOORD2.w;
					        u_xlat9.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat5.xyz : u_xlat9.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat5.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat16 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat5.x, u_xlat16);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati0 = u_xlati0 << 1;
					        SV_Target4 = unity_Builtins2Array.unity_Builtins2Array.unity_ProbesOcclusionArray;
					    }
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[4];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat9;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat15 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat0.z = sqrt(u_xlat15);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat15 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat15);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat4 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat15 = u_xlat15 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    u_xlat15 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat15);
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat15 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat9.x = vs_TEXCOORD1.w;
					        u_xlat9.y = vs_TEXCOORD2.w;
					        u_xlat9.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat5.xyz : u_xlat9.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat5.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat16 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat5.x, u_xlat16);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati0 = u_xlati0 << 1;
					        SV_Target4 = unity_Builtins2Array.unity_Builtins2Array.unity_ProbesOcclusionArray;
					    }
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    SV_Target3.xyz = exp2((-u_xlat3.xyz));
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.xyz = exp2((-u_xlat0.xyz));
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    SV_Target0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat1.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat1.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat1.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    SV_Target3 = vec4(0.0, 0.0, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    SV_Target0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat1.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat1.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat1.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    SV_Target3 = vec4(0.0, 0.0, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					int u_xlati19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlati19 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati19 = u_xlati19 * 7;
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat0);
					        u_xlat4.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat0);
					        u_xlat4.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat0);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[14];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					int u_xlati19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlati19 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati19 = u_xlati19 * 7;
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat0);
					        u_xlat4.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat0);
					        u_xlat4.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat0);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat15 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat0.z = sqrt(u_xlat15);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat3.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat15 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    SV_Target0.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.x = vs_TEXCOORD1.w;
					        u_xlat6.y = vs_TEXCOORD2.w;
					        u_xlat6.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat5.xyz : u_xlat6.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat5.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat1.x = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat5.x, u_xlat1.x);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        SV_Target4 = unity_Builtins2Array.unity_Builtins2Array.unity_ProbesOcclusionArray;
					    }
					    SV_Target0.w = u_xlat2.y;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3 = vec4(0.0, 0.0, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					float u_xlat15;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat15 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat0.z = sqrt(u_xlat15);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat3.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat15 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    SV_Target0.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat6.x = vs_TEXCOORD1.w;
					        u_xlat6.y = vs_TEXCOORD2.w;
					        u_xlat6.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat5.xyz : u_xlat6.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat5.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat1.x = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat5.x, u_xlat1.x);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        SV_Target4 = unity_Builtins2Array.unity_Builtins2Array.unity_ProbesOcclusionArray;
					    }
					    SV_Target0.w = u_xlat2.y;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3 = vec4(0.0, 0.0, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[16];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb14;
					float u_xlat19;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat1 = texture(_NormalMap, u_xlat6.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat1.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat6.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat6.x = min(u_xlat6.x, 1.0);
					    u_xlat6.x = (-u_xlat6.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat6.x);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat2 = texture(_BaseColor, u_xlat6.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat2.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat4.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat3.yyy * u_xlat4.xyz + u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Color03.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat3.zzz * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat1.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat1.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlatb14 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb14){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat9.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat9.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat9.xyz;
					        u_xlat9.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat9.xyz;
					        u_xlat9.xyz = u_xlat9.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat9.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat9.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat10.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat9.x = max(u_xlat9.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat10.x, u_xlat9.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat1.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat1);
					        u_xlat4.y = dot(u_xlat5, u_xlat1);
					        u_xlat4.z = dot(u_xlat3, u_xlat1);
					    } else {
					        u_xlati3 = u_xlati0 << 3;
					        u_xlat1.w = 1.0;
					        u_xlat4.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat1);
					        u_xlat4.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat1);
					        u_xlat4.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat1);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat19 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat19);
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat6.xyz;
					    SV_Target2.xyz = u_xlat1.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    if(u_xlatb14){
					        u_xlatb1 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat9.x = vs_TEXCOORD1.w;
					        u_xlat9.y = vs_TEXCOORD2.w;
					        u_xlat9.z = vs_TEXCOORD3.w;
					        u_xlat1.xyz = (bool(u_xlatb1)) ? u_xlat7.xyz : u_xlat9.xyz;
					        u_xlat1.xyz = u_xlat1.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat1.yzw = u_xlat1.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat7.x = u_xlat1.y * 0.25 + 0.75;
					        u_xlat2.x = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat1.x = max(u_xlat7.x, u_xlat2.x);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat1.xzw);
					    } else {
					        u_xlati0 = u_xlati0 << 3;
					        SV_Target4 = unity_Builtins2Array.unity_Builtins2Array.unity_ProbesOcclusionArray;
					    }
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat6.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[4];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_9[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_SHArArray;
						vec4 unity_Builtins2Array.unity_SHAgArray;
						vec4 unity_Builtins2Array.unity_SHAbArray;
						vec4 unity_Builtins2Array.unity_SHBrArray;
						vec4 unity_Builtins2Array.unity_SHBgArray;
						vec4 unity_Builtins2Array.unity_SHBbArray;
						vec4 unity_Builtins2Array.unity_SHCArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[16];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec3 vs_TEXCOORD6;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					int u_xlati0;
					vec4 u_xlat1;
					bool u_xlatb1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					int u_xlati3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec3 u_xlat6;
					vec3 u_xlat7;
					vec3 u_xlat9;
					vec3 u_xlat10;
					bool u_xlatb14;
					float u_xlat19;
					void main()
					{
					    u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					    u_xlat6.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat1 = texture(_NormalMap, u_xlat6.xy);
					    u_xlat1.x = u_xlat1.w * u_xlat1.x;
					    u_xlat1.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat6.x = dot(u_xlat1.xy, u_xlat1.xy);
					    u_xlat6.x = min(u_xlat6.x, 1.0);
					    u_xlat6.x = (-u_xlat6.x) + 1.0;
					    u_xlat1.z = sqrt(u_xlat6.x);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat2 = texture(_BaseColor, u_xlat6.xy);
					    u_xlat6.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat6.xy);
					    u_xlat6.xyz = u_xlat2.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * _Color01.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat3.xxx * u_xlat4.xyz + u_xlat6.xyz;
					    u_xlat4.xyz = u_xlat2.xyz * _Color02.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat3.yyy * u_xlat4.xyz + u_xlat6.xyz;
					    u_xlat2.xyz = u_xlat2.xyz * _Color03.xyz + (-u_xlat6.xyz);
					    u_xlat6.xyz = u_xlat3.zzz * u_xlat2.xyz + u_xlat6.xyz;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat1.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat1.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat1.xyz);
					    u_xlat1.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat1.x = inversesqrt(u_xlat1.x);
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlatb14 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb14){
					        u_xlatb3 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat9.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat9.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat9.xyz;
					        u_xlat9.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat9.xyz;
					        u_xlat9.xyz = u_xlat9.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb3)) ? u_xlat9.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat9.x = u_xlat3.y * 0.25;
					        u_xlat4.x = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat10.x = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat9.x = max(u_xlat9.x, u_xlat4.x);
					        u_xlat3.x = min(u_xlat10.x, u_xlat9.x);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat1.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat1);
					        u_xlat4.y = dot(u_xlat5, u_xlat1);
					        u_xlat4.z = dot(u_xlat3, u_xlat1);
					    } else {
					        u_xlati3 = u_xlati0 << 3;
					        u_xlat1.w = 1.0;
					        u_xlat4.x = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHArArray, u_xlat1);
					        u_xlat4.y = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAgArray, u_xlat1);
					        u_xlat4.z = dot(unity_Builtins2Array.unity_Builtins2Array.unity_SHAbArray, u_xlat1);
					    }
					    u_xlat3.xyz = u_xlat4.xyz + vs_TEXCOORD6.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat6.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat19 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat6.xyz = u_xlat6.xyz * vec3(u_xlat19);
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat6.xyz;
					    SV_Target2.xyz = u_xlat1.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    if(u_xlatb14){
					        u_xlatb1 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat7.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat7.xyz;
					        u_xlat7.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat7.xyz;
					        u_xlat7.xyz = u_xlat7.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat9.x = vs_TEXCOORD1.w;
					        u_xlat9.y = vs_TEXCOORD2.w;
					        u_xlat9.z = vs_TEXCOORD3.w;
					        u_xlat1.xyz = (bool(u_xlatb1)) ? u_xlat7.xyz : u_xlat9.xyz;
					        u_xlat1.xyz = u_xlat1.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat1.yzw = u_xlat1.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat7.x = u_xlat1.y * 0.25 + 0.75;
					        u_xlat2.x = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat1.x = max(u_xlat7.x, u_xlat2.x);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat1.xzw);
					    } else {
					        u_xlati0 = u_xlati0 << 3;
					        SV_Target4 = unity_Builtins2Array.unity_Builtins2Array.unity_ProbesOcclusionArray;
					    }
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat6.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat1.xzw = log2(u_xlat1.xzw);
					    u_xlat1.xzw = u_xlat1.xzw * unity_DynamicLightmap_HDR.yyy;
					    u_xlat1.xzw = exp2(u_xlat1.xzw);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat1.xzw = log2(u_xlat1.xzw);
					    u_xlat1.xzw = u_xlat1.xzw * unity_DynamicLightmap_HDR.yyy;
					    u_xlat1.xzw = exp2(u_xlat1.xzw);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[4];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat15 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat0.z = sqrt(u_xlat15);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat15 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat15);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat4 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat15 = u_xlat15 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    u_xlat15 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat15);
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat15 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.x = vs_TEXCOORD1.w;
					        u_xlat8.y = vs_TEXCOORD2.w;
					        u_xlat8.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat5.xyz : u_xlat8.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat5.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat16 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat5.x, u_xlat16);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati0 = u_xlati0 << 1;
					        SV_Target4 = unity_Builtins2Array.unity_Builtins2Array.unity_ProbesOcclusionArray;
					    }
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins2Array_Type {
						vec4 unity_Builtins2Array.unity_DynamicLightmapSTArray;
						vec4 unity_Builtins2Array.unity_ProbesOcclusionArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw2 {
						unity_Builtins2Array_Type unity_Builtins2Array;
						vec4 unused_3_1[4];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					flat in  uint vs_SV_InstanceID0;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					int u_xlati0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat8;
					float u_xlat15;
					float u_xlat16;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat15 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat15 = min(u_xlat15, 1.0);
					    u_xlat15 = (-u_xlat15) + 1.0;
					    u_xlat0.z = sqrt(u_xlat15);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat15 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat15);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat4 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat4.xyz = u_xlat4.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat15 = dot(u_xlat0.xyz, u_xlat4.xyz);
					    u_xlat15 = u_xlat15 + 0.5;
					    u_xlat3.xyz = vec3(u_xlat15) * u_xlat3.xyz;
					    u_xlat15 = max(u_xlat4.w, 9.99999975e-05);
					    u_xlat3.xyz = u_xlat3.xyz / vec3(u_xlat15);
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat15 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat15) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    u_xlatb0 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb0){
					        u_xlatb0 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat5.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat5.xyz;
					        u_xlat5.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat5.xyz;
					        u_xlat5.xyz = u_xlat5.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat8.x = vs_TEXCOORD1.w;
					        u_xlat8.y = vs_TEXCOORD2.w;
					        u_xlat8.z = vs_TEXCOORD3.w;
					        u_xlat0.xyz = (bool(u_xlatb0)) ? u_xlat5.xyz : u_xlat8.xyz;
					        u_xlat0.xyz = u_xlat0.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat0.yzw = u_xlat0.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat5.x = u_xlat0.y * 0.25 + 0.75;
					        u_xlat16 = unity_ProbeVolumeParams.z * 0.5 + 0.75;
					        u_xlat0.x = max(u_xlat5.x, u_xlat16);
					        SV_Target4 = texture(unity_ProbeVolumeSH, u_xlat0.xzw);
					    } else {
					        u_xlati0 = int(vs_SV_InstanceID0) + unity_BaseInstanceID;
					        u_xlati0 = u_xlati0 << 1;
					        SV_Target4 = unity_Builtins2Array.unity_Builtins2Array.unity_ProbesOcclusionArray;
					    }
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat4 = log2(u_xlat3.w);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.y;
					    u_xlat4 = exp2(u_xlat4);
					    u_xlat4 = u_xlat4 * unity_Lightmap_HDR.x;
					    u_xlat1.xzw = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "INSTANCING_ON" "LIGHTMAP_ON" "LIGHTPROBE_SH" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unused_0_1[3];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_10[3];
					};
					layout(std140) uniform UnityLighting {
						vec4 unused_1_0[39];
						vec4 unity_SHAr;
						vec4 unity_SHAg;
						vec4 unity_SHAb;
						vec4 unity_SHBr;
						vec4 unity_SHBg;
						vec4 unity_SHBb;
						vec4 unity_SHC;
						vec4 unused_1_8[2];
					};
					layout(std140) uniform UnityProbeVolume {
						vec4 unity_ProbeVolumeParams;
						mat4x4 unity_ProbeVolumeWorldToObject;
						vec3 unity_ProbeVolumeSizeInv;
						vec3 unity_ProbeVolumeMin;
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler3D unity_ProbeVolumeSH;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					float u_xlat9;
					vec3 u_xlat10;
					float u_xlat14;
					float u_xlat18;
					float u_xlat19;
					bool u_xlatb19;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat18 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat18 = min(u_xlat18, 1.0);
					    u_xlat18 = (-u_xlat18) + 1.0;
					    u_xlat0.z = sqrt(u_xlat18);
					    u_xlat1.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat1 = texture(_BaseColor, u_xlat1.xy);
					    u_xlat2.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat2 = texture(_ColorMask, u_xlat2.xy);
					    u_xlat3.xyz = u_xlat1.xyz * _Color04.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color01.xyz + (-u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat2.xxx * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz * _Color02.xyz + (-u_xlat3.xyz);
					    u_xlat2.xyw = u_xlat2.yyy * u_xlat4.xyz + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xyz * _Color03.xyz + (-u_xlat2.xyw);
					    u_xlat1.xyz = u_xlat2.zzz * u_xlat1.xyz + u_xlat2.xyw;
					    u_xlat2.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat2 = texture(_MetallicRAOGGlossA, u_xlat2.xy);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlatb19 = unity_ProbeVolumeParams.x==1.0;
					    if(u_xlatb19){
					        u_xlatb19 = unity_ProbeVolumeParams.y==1.0;
					        u_xlat3.xyz = vs_TEXCOORD2.www * unity_ProbeVolumeWorldToObject[1].xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[0].xyz * vs_TEXCOORD1.www + u_xlat3.xyz;
					        u_xlat3.xyz = unity_ProbeVolumeWorldToObject[2].xyz * vs_TEXCOORD3.www + u_xlat3.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + unity_ProbeVolumeWorldToObject[3].xyz;
					        u_xlat10.x = vs_TEXCOORD1.w;
					        u_xlat10.y = vs_TEXCOORD2.w;
					        u_xlat10.z = vs_TEXCOORD3.w;
					        u_xlat3.xyz = (bool(u_xlatb19)) ? u_xlat3.xyz : u_xlat10.xyz;
					        u_xlat3.xyz = u_xlat3.xyz + (-unity_ProbeVolumeMin.xyz);
					        u_xlat3.yzw = u_xlat3.xyz * unity_ProbeVolumeSizeInv.xyz;
					        u_xlat19 = u_xlat3.y * 0.25;
					        u_xlat14 = unity_ProbeVolumeParams.z * 0.5;
					        u_xlat9 = (-unity_ProbeVolumeParams.z) * 0.5 + 0.25;
					        u_xlat19 = max(u_xlat19, u_xlat14);
					        u_xlat3.x = min(u_xlat9, u_xlat19);
					        u_xlat4 = texture(unity_ProbeVolumeSH, u_xlat3.xzw);
					        u_xlat5.xyz = u_xlat3.xzw + vec3(0.25, 0.0, 0.0);
					        u_xlat5 = texture(unity_ProbeVolumeSH, u_xlat5.xyz);
					        u_xlat3.xyz = u_xlat3.xzw + vec3(0.5, 0.0, 0.0);
					        u_xlat3 = texture(unity_ProbeVolumeSH, u_xlat3.xyz);
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(u_xlat4, u_xlat0);
					        u_xlat4.y = dot(u_xlat5, u_xlat0);
					        u_xlat4.z = dot(u_xlat3, u_xlat0);
					    } else {
					        u_xlat0.w = 1.0;
					        u_xlat4.x = dot(unity_SHAr, u_xlat0);
					        u_xlat4.y = dot(unity_SHAg, u_xlat0);
					        u_xlat4.z = dot(unity_SHAb, u_xlat0);
					    }
					    u_xlat3 = u_xlat0.yzzx * u_xlat0.xyzz;
					    u_xlat5.x = dot(unity_SHBr, u_xlat3);
					    u_xlat5.y = dot(unity_SHBg, u_xlat3);
					    u_xlat5.z = dot(unity_SHBb, u_xlat3);
					    u_xlat18 = u_xlat0.y * u_xlat0.y;
					    u_xlat18 = u_xlat0.x * u_xlat0.x + (-u_xlat18);
					    u_xlat3.xyz = unity_SHC.xyz * vec3(u_xlat18) + u_xlat5.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat18 = log2(u_xlat4.w);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.y;
					    u_xlat18 = exp2(u_xlat18);
					    u_xlat18 = u_xlat18 * unity_Lightmap_HDR.x;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(u_xlat18);
					    u_xlat5 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat18 = dot(u_xlat0.xyz, u_xlat5.xyz);
					    u_xlat18 = u_xlat18 + 0.5;
					    u_xlat4.xyz = vec3(u_xlat18) * u_xlat4.xyz;
					    u_xlat18 = max(u_xlat5.w, 9.99999975e-05);
					    u_xlat4.xyz = u_xlat4.xyz / vec3(u_xlat18);
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat4.xyz;
					    u_xlat3.xyz = u_xlat2.yyy * u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat1.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat2.xxx * u_xlat4.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    u_xlat18 = (-u_xlat2.x) * 0.959999979 + 0.959999979;
					    u_xlat1.xyz = vec3(u_xlat18) * u_xlat1.xyz;
					    SV_Target3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    SV_Target0.w = u_xlat2.y;
					    SV_Target0.xyz = u_xlat1.xyz;
					    SV_Target1.w = u_xlat2.w;
					    SV_Target2.w = 1.0;
					    SV_Target3.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "DIRLIGHTMAP_COMBINED" "DYNAMICLIGHTMAP_ON" "INSTANCING_ON" "LIGHTMAP_ON" "SHADOWS_SHADOWMASK" "UNITY_HDR_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unity_Lightmap_HDR;
						vec4 unity_DynamicLightmap_HDR;
						vec4 unused_0_2[2];
						vec4 _NormalMap_ST;
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 _MetallicRAOGGlossA_ST;
						vec4 unused_0_11[3];
					};
					uniform  sampler2D _NormalMap;
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					uniform  sampler2D _MetallicRAOGGlossA;
					uniform  sampler2D unity_Lightmap;
					uniform  sampler2D unity_LightmapInd;
					uniform  sampler2D unity_ShadowMask;
					uniform  sampler2D unity_DynamicLightmap;
					uniform  sampler2D unity_DynamicDirectionality;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD1;
					in  vec4 vs_TEXCOORD2;
					in  vec4 vs_TEXCOORD3;
					in  vec4 vs_TEXCOORD5;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					layout(location = 3) out vec4 SV_Target3;
					layout(location = 4) out vec4 SV_Target4;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy * _MetallicRAOGGlossA_ST.xy + _MetallicRAOGGlossA_ST.zw;
					    u_xlat1 = texture(_MetallicRAOGGlossA, u_xlat1.xy);
					    u_xlat12 = (-u_xlat1.x) * 0.959999979 + 0.959999979;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991);
					    SV_Target1.xyz = u_xlat1.xxx * u_xlat0.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991);
					    SV_Target0.xyz = u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.y;
					    SV_Target1.w = u_xlat1.w;
					    u_xlat0.xy = vs_TEXCOORD0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
					    u_xlat0 = texture(_NormalMap, u_xlat0.xy);
					    u_xlat0.x = u_xlat0.w * u_xlat0.x;
					    u_xlat0.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat12 = dot(u_xlat0.xy, u_xlat0.xy);
					    u_xlat12 = min(u_xlat12, 1.0);
					    u_xlat12 = (-u_xlat12) + 1.0;
					    u_xlat0.z = sqrt(u_xlat12);
					    u_xlat3.x = dot(vs_TEXCOORD1.xyz, u_xlat0.xyz);
					    u_xlat3.y = dot(vs_TEXCOORD2.xyz, u_xlat0.xyz);
					    u_xlat3.z = dot(vs_TEXCOORD3.xyz, u_xlat0.xyz);
					    u_xlat0.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat0.x = inversesqrt(u_xlat0.x);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    SV_Target2.xyz = u_xlat0.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
					    SV_Target2.w = 1.0;
					    u_xlat3 = texture(unity_LightmapInd, vs_TEXCOORD5.xy);
					    u_xlat1.xzw = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat1.x = dot(u_xlat0.xyz, u_xlat1.xzw);
					    u_xlat1.x = u_xlat1.x + 0.5;
					    u_xlat3 = texture(unity_Lightmap, vs_TEXCOORD5.xy);
					    u_xlat9 = log2(u_xlat3.w);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.y;
					    u_xlat9 = exp2(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_Lightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat9);
					    u_xlat1.xzw = u_xlat1.xxx * u_xlat3.xyz;
					    u_xlat1.xzw = u_xlat1.xzw / vec3(u_xlat12);
					    u_xlat3 = texture(unity_DynamicDirectionality, vs_TEXCOORD5.zw);
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat12 = max(u_xlat3.w, 9.99999975e-05);
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat3.xyz);
					    u_xlat0.x = u_xlat0.x + 0.5;
					    u_xlat3 = texture(unity_DynamicLightmap, vs_TEXCOORD5.zw);
					    u_xlat4 = u_xlat3.w * unity_DynamicLightmap_HDR.x;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(u_xlat4);
					    u_xlat3.xyz = log2(u_xlat3.xyz);
					    u_xlat3.xyz = u_xlat3.xyz * unity_DynamicLightmap_HDR.yyy;
					    u_xlat3.xyz = exp2(u_xlat3.xyz);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xzw;
					    u_xlat0.xyz = u_xlat1.yyy * u_xlat0.xyz;
					    SV_Target3.xyz = u_xlat0.xyz * u_xlat2.xyz;
					    SV_Target3.w = 1.0;
					    SV_Target4 = texture(unity_ShadowMask, vs_TEXCOORD5.xy);
					    return;
					}"
				}
			}
		}
		Pass {
			Name "ShadowCaster"
			Tags { "LIGHTMODE" = "SHADOWCASTER" "QUEUE" = "Geometry+0" "RenderType" = "Opaque" "SHADOWSUPPORT" = "true" }
			GpuProgramID 231453
			Program "vp" {
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_0_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_1_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					out vec3 vs_TEXCOORD1;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					float u_xlat9;
					bool u_xlatb9;
					void main()
					{
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat1 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat1;
					    u_xlat2.xyz = (-u_xlat1.xyz) * _WorldSpaceLightPos0.www + _WorldSpaceLightPos0.xyz;
					    u_xlat9 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat2.xyz);
					    u_xlat9 = (-u_xlat9) * u_xlat9 + 1.0;
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_LightShadowBias.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) * vec3(u_xlat9) + u_xlat1.xyz;
					    u_xlatb9 = unity_LightShadowBias.z!=0.0;
					    u_xlat0.xyz = (bool(u_xlatb9)) ? u_xlat0.xyz : u_xlat1.xyz;
					    u_xlat2 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat2;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat2;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    u_xlat0.xyz = in_POSITION0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat0.xyz = unity_ObjectToWorld[0].xyz * in_POSITION0.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = unity_ObjectToWorld[2].xyz * in_POSITION0.zzz + u_xlat0.xyz;
					    vs_TEXCOORD1.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_0_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_1_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					out vec3 vs_TEXCOORD1;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat6;
					float u_xlat9;
					int u_xlati9;
					bool u_xlatb9;
					void main()
					{
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat1 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat1;
					    u_xlat2.xyz = (-u_xlat1.xyz) * _WorldSpaceLightPos0.www + _WorldSpaceLightPos0.xyz;
					    u_xlat9 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat2.xyz);
					    u_xlat9 = (-u_xlat9) * u_xlat9 + 1.0;
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_LightShadowBias.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) * vec3(u_xlat9) + u_xlat1.xyz;
					    u_xlatb9 = unity_LightShadowBias.z!=0.0;
					    u_xlat0.xyz = (bool(u_xlatb9)) ? u_xlat0.xyz : u_xlat1.xyz;
					    u_xlati9 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati9 + 1) / 4][(u_xlati9 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati9 / 4][u_xlati9 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati9 + 2) / 4][(u_xlati9 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati9 + 3) / 4][(u_xlati9 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat0.x + u_xlat6;
					    u_xlat0.xyz = in_POSITION0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat0.xyz = unity_ObjectToWorld[0].xyz * in_POSITION0.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = unity_ObjectToWorld[2].xyz * in_POSITION0.zzz + u_xlat0.xyz;
					    vs_TEXCOORD1.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_0_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_1_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					out vec3 vs_TEXCOORD1;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					bool u_xlatb9;
					void main()
					{
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat1 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat1;
					    u_xlat2.xyz = (-u_xlat1.xyz) * _WorldSpaceLightPos0.www + _WorldSpaceLightPos0.xyz;
					    u_xlat9 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat2.xyz);
					    u_xlat9 = (-u_xlat9) * u_xlat9 + 1.0;
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_LightShadowBias.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) * vec3(u_xlat9) + u_xlat1.xyz;
					    u_xlatb9 = unity_LightShadowBias.z!=0.0;
					    u_xlat0.xyz = (bool(u_xlatb9)) ? u_xlat0.xyz : u_xlat1.xyz;
					    u_xlat2 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat2 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat2;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat2;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.xyz = in_POSITION0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat0.xyz = unity_ObjectToWorld[0].xyz * in_POSITION0.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = unity_ObjectToWorld[2].xyz * in_POSITION0.zzz + u_xlat0.xyz;
					    vs_TEXCOORD1.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_0_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_1_2[20];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					out vec3 vs_TEXCOORD1;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					int u_xlati9;
					bool u_xlatb9;
					void main()
					{
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat1 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat1 = unity_ObjectToWorld[3] * in_POSITION0.wwww + u_xlat1;
					    u_xlat2.xyz = (-u_xlat1.xyz) * _WorldSpaceLightPos0.www + _WorldSpaceLightPos0.xyz;
					    u_xlat9 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat9 = inversesqrt(u_xlat9);
					    u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					    u_xlat9 = dot(u_xlat0.xyz, u_xlat2.xyz);
					    u_xlat9 = (-u_xlat9) * u_xlat9 + 1.0;
					    u_xlat9 = sqrt(u_xlat9);
					    u_xlat9 = u_xlat9 * unity_LightShadowBias.z;
					    u_xlat0.xyz = (-u_xlat0.xyz) * vec3(u_xlat9) + u_xlat1.xyz;
					    u_xlatb9 = unity_LightShadowBias.z!=0.0;
					    u_xlat0.xyz = (bool(u_xlatb9)) ? u_xlat0.xyz : u_xlat1.xyz;
					    u_xlati9 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati9 + 1) / 4][(u_xlati9 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati9 / 4][u_xlati9 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati9 + 2) / 4][(u_xlati9 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati9 + 3) / 4][(u_xlati9 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    u_xlat0.xyz = in_POSITION0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat0.xyz = unity_ObjectToWorld[0].xyz * in_POSITION0.xxx + u_xlat0.xyz;
					    u_xlat0.xyz = unity_ObjectToWorld[2].xyz * in_POSITION0.zzz + u_xlat0.xyz;
					    vs_TEXCOORD1.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "SHADOWS_DEPTH" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_0_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_1_2[20];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					out vec3 vs_TEXCOORD1;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					bool u_xlatb3;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat3.xyz = in_POSITION0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].xyz * in_POSITION0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].xyz * in_POSITION0.zzz + u_xlat3.xyz;
					    vs_TEXCOORD1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat3.xyz;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)] * in_POSITION0.wwww + u_xlat1;
					    u_xlatb3 = unity_LightShadowBias.z!=0.0;
					    if(u_xlatb3){
					        u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					        u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					        u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					        u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat0.x = inversesqrt(u_xlat0.x);
					        u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					        u_xlat2.xyz = (-u_xlat1.xyz) * _WorldSpaceLightPos0.www + _WorldSpaceLightPos0.xyz;
					        u_xlat9 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat9 = inversesqrt(u_xlat9);
					        u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					        u_xlat9 = dot(u_xlat0.xyz, u_xlat2.xyz);
					        u_xlat9 = (-u_xlat9) * u_xlat9 + 1.0;
					        u_xlat9 = sqrt(u_xlat9);
					        u_xlat9 = u_xlat9 * unity_LightShadowBias.z;
					        u_xlat1.xyz = (-u_xlat0.xyz) * vec3(u_xlat9) + u_xlat1.xyz;
					    }
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    u_xlat1.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat6;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_0_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_1_2[20];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					out vec3 vs_TEXCOORD1;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					bool u_xlatb3;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat3.xyz = in_POSITION0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].xyz * in_POSITION0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].xyz * in_POSITION0.zzz + u_xlat3.xyz;
					    vs_TEXCOORD1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat3.xyz;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)] * in_POSITION0.wwww + u_xlat1;
					    u_xlatb3 = unity_LightShadowBias.z!=0.0;
					    if(u_xlatb3){
					        u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					        u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					        u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					        u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat0.x = inversesqrt(u_xlat0.x);
					        u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					        u_xlat2.xyz = (-u_xlat1.xyz) * _WorldSpaceLightPos0.www + _WorldSpaceLightPos0.xyz;
					        u_xlat9 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat9 = inversesqrt(u_xlat9);
					        u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					        u_xlat9 = dot(u_xlat0.xyz, u_xlat2.xyz);
					        u_xlat9 = (-u_xlat9) * u_xlat9 + 1.0;
					        u_xlat9 = sqrt(u_xlat9);
					        u_xlat9 = u_xlat9 * unity_LightShadowBias.z;
					        u_xlat1.xyz = (-u_xlat0.xyz) * vec3(u_xlat9) + u_xlat1.xyz;
					    }
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = unity_LightShadowBias.x / u_xlat0.w;
					    u_xlat1.x = min(u_xlat1.x, 0.0);
					    u_xlat1.x = max(u_xlat1.x, -1.0);
					    u_xlat6 = u_xlat0.z + u_xlat1.x;
					    u_xlat1.x = min(u_xlat0.w, u_xlat6);
					    u_xlat1.x = (-u_xlat6) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat6;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "SHADOWS_CUBE" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_0_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_1_2[20];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_4_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					out vec3 vs_TEXCOORD1;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					bool u_xlatb3;
					float u_xlat9;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat3.xyz = in_POSITION0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].xyz * in_POSITION0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].xyz * in_POSITION0.zzz + u_xlat3.xyz;
					    vs_TEXCOORD1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat3.xyz;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)] * in_POSITION0.wwww + u_xlat1;
					    u_xlatb3 = unity_LightShadowBias.z!=0.0;
					    if(u_xlatb3){
					        u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					        u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					        u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					        u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat0.x = inversesqrt(u_xlat0.x);
					        u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					        u_xlat2.xyz = (-u_xlat1.xyz) * _WorldSpaceLightPos0.www + _WorldSpaceLightPos0.xyz;
					        u_xlat9 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat9 = inversesqrt(u_xlat9);
					        u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					        u_xlat9 = dot(u_xlat0.xyz, u_xlat2.xyz);
					        u_xlat9 = (-u_xlat9) * u_xlat9 + 1.0;
					        u_xlat9 = sqrt(u_xlat9);
					        u_xlat9 = u_xlat9 * unity_LightShadowBias.z;
					        u_xlat1.xyz = (-u_xlat0.xyz) * vec3(u_xlat9) + u_xlat1.xyz;
					    }
					    u_xlat0 = u_xlat1.yyyy * unity_MatrixVP[1];
					    u_xlat0 = unity_MatrixVP[0] * u_xlat1.xxxx + u_xlat0;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat1.zzzz + u_xlat0;
					    u_xlat0 = unity_MatrixVP[3] * u_xlat1.wwww + u_xlat0;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityLighting {
						vec4 _WorldSpaceLightPos0;
						vec4 unused_0_1[47];
					};
					layout(std140) uniform UnityShadows {
						vec4 unused_1_0[5];
						vec4 unity_LightShadowBias;
						vec4 unused_1_2[20];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					in  vec4 in_POSITION0;
					in  vec3 in_NORMAL0;
					out vec3 vs_TEXCOORD1;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					bool u_xlatb3;
					float u_xlat9;
					void main()
					{
					    u_xlati0 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati0 = u_xlati0 << 3;
					    u_xlat3.xyz = in_POSITION0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0].xyz * in_POSITION0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)].xyz * in_POSITION0.zzz + u_xlat3.xyz;
					    vs_TEXCOORD1.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)].xyz * in_POSITION0.www + u_xlat3.xyz;
					    u_xlat1 = in_POSITION0.yyyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 1)];
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 2)] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat1 = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati0 + 3)] * in_POSITION0.wwww + u_xlat1;
					    u_xlatb3 = unity_LightShadowBias.z!=0.0;
					    if(u_xlatb3){
					        u_xlat2.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati0].xyz);
					        u_xlat2.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 1)].xyz);
					        u_xlat2.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati0 + 2)].xyz);
					        u_xlat0.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat0.x = inversesqrt(u_xlat0.x);
					        u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					        u_xlat2.xyz = (-u_xlat1.xyz) * _WorldSpaceLightPos0.www + _WorldSpaceLightPos0.xyz;
					        u_xlat9 = dot(u_xlat2.xyz, u_xlat2.xyz);
					        u_xlat9 = inversesqrt(u_xlat9);
					        u_xlat2.xyz = vec3(u_xlat9) * u_xlat2.xyz;
					        u_xlat9 = dot(u_xlat0.xyz, u_xlat2.xyz);
					        u_xlat9 = (-u_xlat9) * u_xlat9 + 1.0;
					        u_xlat9 = sqrt(u_xlat9);
					        u_xlat9 = u_xlat9 * unity_LightShadowBias.z;
					        u_xlat1.xyz = (-u_xlat0.xyz) * vec3(u_xlat9) + u_xlat1.xyz;
					    }
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    u_xlat1.x = min(u_xlat0.w, u_xlat0.z);
					    u_xlat1.x = (-u_xlat0.z) + u_xlat1.x;
					    gl_Position.z = unity_LightShadowBias.y * u_xlat1.x + u_xlat0.z;
					    gl_Position.xyw = u_xlat0.xyw;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "SHADOWS_DEPTH" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "SHADOWS_DEPTH" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "SHADOWS_CUBE" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "SHADOWS_CUBE" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0);
					    return;
					}"
				}
			}
		}
		Pass {
			Name "Meta"
			Tags { "LIGHTMODE" = "META" "QUEUE" = "Geometry+0" "RenderType" = "Opaque" }
			Cull Off
			GpuProgramID 327675
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[13];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_4_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					bool u_xlatb12;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb12 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb12 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    u_xlat3.xyz = in_POSITION0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[0].xyz * in_POSITION0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].xyz * in_POSITION0.zzz + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat3.xyz;
					    vs_TEXCOORD1.w = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.w = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat3.z;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[13];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						mat4x4 unity_WorldToObject;
						vec4 unused_1_2;
						vec4 unity_WorldTransformParams;
						vec4 unused_1_4;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_5_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					vec3 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat12;
					int u_xlati12;
					bool u_xlatb12;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb12 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb12 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.y = dot(in_NORMAL0.xyz, unity_WorldToObject[0].xyz);
					    u_xlat0.z = dot(in_NORMAL0.xyz, unity_WorldToObject[1].xyz);
					    u_xlat0.x = dot(in_NORMAL0.xyz, unity_WorldToObject[2].xyz);
					    u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = in_TANGENT0.yyy * unity_ObjectToWorld[1].yzx;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yzx * in_TANGENT0.xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yzx * in_TANGENT0.zzz + u_xlat1.xyz;
					    u_xlat12 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat12 = inversesqrt(u_xlat12);
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.zxy * u_xlat1.yzx + (-u_xlat2.xyz);
					    u_xlat12 = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlat2.xyz = vec3(u_xlat12) * u_xlat2.xyz;
					    vs_TEXCOORD1.y = u_xlat2.x;
					    u_xlat3.xyz = in_POSITION0.yyy * unity_ObjectToWorld[1].xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[0].xyz * in_POSITION0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[2].xyz * in_POSITION0.zzz + u_xlat3.xyz;
					    u_xlat3.xyz = unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat3.xyz;
					    vs_TEXCOORD1.w = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat1.z;
					    vs_TEXCOORD1.z = u_xlat0.y;
					    vs_TEXCOORD2.x = u_xlat1.x;
					    vs_TEXCOORD3.x = u_xlat1.y;
					    vs_TEXCOORD2.z = u_xlat0.z;
					    vs_TEXCOORD3.z = u_xlat0.x;
					    vs_TEXCOORD2.w = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat3.z;
					    vs_TEXCOORD2.y = u_xlat2.y;
					    vs_TEXCOORD3.y = u_xlat2.z;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[13];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_2_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_2_2[2];
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_5_1[16];
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_6_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					int u_xlati4;
					float u_xlat8;
					bool u_xlatb12;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb12 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb12 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat0 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat0 + unity_MatrixVP[3];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlati4 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati4 << 3;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat0.x;
					    u_xlat3.xyz = in_POSITION0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_POSITION0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_POSITION0.zzz + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat3.xyz;
					    vs_TEXCOORD1.w = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat3.z;
					    vs_TEXCOORD2.y = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat0.w;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[13];
						vec4 _texcoord_ST;
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_1_0[9];
						vec4 unity_WorldTransformParams;
						vec4 unused_1_2;
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityLightmaps {
						vec4 unity_LightmapST;
						vec4 unity_DynamicLightmapST;
					};
					layout(std140) uniform UnityDrawCallInfo {
						int unity_BaseInstanceID;
					};
					struct unity_Builtins0Array_Type {
						mat4x4 unity_Builtins0Array.unity_ObjectToWorldArray;
						mat4x4 unity_Builtins0Array.unity_WorldToObjectArray;
					};
					layout(std140) uniform UnityInstancing_PerDraw0 {
						unity_Builtins0Array_Type unity_Builtins0Array;
						vec4 unused_6_1[16];
					};
					layout(std140) uniform UnityMetaPass {
						bvec4 unity_MetaVertexControl;
						vec4 unused_7_1[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_TANGENT0;
					in  vec3 in_NORMAL0;
					in  vec4 in_TEXCOORD0;
					in  vec4 in_TEXCOORD1;
					in  vec4 in_TEXCOORD2;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD1;
					out vec4 vs_TEXCOORD2;
					out vec4 vs_TEXCOORD3;
					flat out uint vs_SV_InstanceID0;
					vec4 u_xlat0;
					bool u_xlatb0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					int u_xlati4;
					float u_xlat8;
					int u_xlati12;
					bool u_xlatb12;
					void main()
					{
					    u_xlatb0 = 0.0<in_POSITION0.z;
					    u_xlat0.z = u_xlatb0 ? 9.99999975e-05 : float(0.0);
					    u_xlat0.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.x) ? u_xlat0.xyz : in_POSITION0.xyz;
					    u_xlatb12 = 0.0<u_xlat0.z;
					    u_xlat1.z = u_xlatb12 ? 9.99999975e-05 : float(0.0);
					    u_xlat1.xy = in_TEXCOORD2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
					    u_xlat0.xyz = (unity_MetaVertexControl.y) ? u_xlat1.xyz : u_xlat0.xyz;
					    u_xlati12 = unity_StereoEyeIndex << 2;
					    u_xlat1 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati12 + 1) / 4][(u_xlati12 + 1) % 4];
					    u_xlat1 = unity_StereoMatrixVP[u_xlati12 / 4][u_xlati12 % 4] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_StereoMatrixVP[(u_xlati12 + 2) / 4][(u_xlati12 + 2) % 4] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = u_xlat1 + unity_StereoMatrixVP[(u_xlati12 + 3) / 4][(u_xlati12 + 3) % 4];
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _texcoord_ST.xy + _texcoord_ST.zw;
					    u_xlat0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
					    u_xlati4 = gl_InstanceID + unity_BaseInstanceID;
					    u_xlati4 = u_xlati4 << 3;
					    u_xlat1.y = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[u_xlati4].xyz);
					    u_xlat1.z = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 1)].xyz);
					    u_xlat1.x = dot(in_NORMAL0.xyz, unity_Builtins0Array.unity_Builtins0Array.unity_WorldToObjectArray[(u_xlati4 + 2)].xyz);
					    u_xlat8 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    u_xlat2.xyz = in_TANGENT0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].yzx;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].yzx * in_TANGENT0.xxx + u_xlat2.xyz;
					    u_xlat2.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].yzx * in_TANGENT0.zzz + u_xlat2.xyz;
					    u_xlat8 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat8 = inversesqrt(u_xlat8);
					    u_xlat2.xyz = vec3(u_xlat8) * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat2.yzx + (-u_xlat3.xyz);
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat3.xyz;
					    vs_TEXCOORD1.y = u_xlat0.x;
					    u_xlat3.xyz = in_POSITION0.yyy * unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 1)].xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[u_xlati4].xyz * in_POSITION0.xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 2)].xyz * in_POSITION0.zzz + u_xlat3.xyz;
					    u_xlat3.xyz = unity_Builtins0Array.unity_Builtins0Array.unity_ObjectToWorldArray[(u_xlati4 + 3)].xyz * in_POSITION0.www + u_xlat3.xyz;
					    vs_TEXCOORD1.w = u_xlat3.x;
					    vs_TEXCOORD1.x = u_xlat2.z;
					    vs_TEXCOORD1.z = u_xlat1.y;
					    vs_TEXCOORD2.x = u_xlat2.x;
					    vs_TEXCOORD3.x = u_xlat2.y;
					    vs_TEXCOORD2.z = u_xlat1.z;
					    vs_TEXCOORD3.z = u_xlat1.x;
					    vs_TEXCOORD2.w = u_xlat3.y;
					    vs_TEXCOORD3.w = u_xlat3.z;
					    vs_TEXCOORD2.y = u_xlat0.z;
					    vs_TEXCOORD3.y = u_xlat0.w;
					    vs_SV_InstanceID0 =  uint(gl_InstanceID);
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[5];
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 unused_0_7;
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat12 = unity_OneOverOutputBoost;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[5];
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 unused_0_7;
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat12 = unity_OneOverOutputBoost;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[5];
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 unused_0_7;
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat12 = unity_OneOverOutputBoost;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "INSTANCING_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[5];
						vec4 _BaseColor_ST;
						vec4 _Color04;
						vec4 _Color01;
						vec4 _ColorMask_ST;
						vec4 _Color02;
						vec4 _Color03;
						vec4 unused_0_7;
						float unity_OneOverOutputBoost;
						float unity_MaxOutputValue;
						vec4 unused_0_10;
					};
					layout(std140) uniform UnityMetaPass {
						vec4 unused_1_0;
						bvec4 unity_MetaFragmentControl;
						vec4 unused_1_2;
					};
					uniform  sampler2D _BaseColor;
					uniform  sampler2D _ColorMask;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec4 u_xlat3;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy * _BaseColor_ST.xy + _BaseColor_ST.zw;
					    u_xlat0 = texture(_BaseColor, u_xlat0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * _Color04.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color01.xyz + (-u_xlat1.xyz);
					    u_xlat3.xy = vs_TEXCOORD0.xy * _ColorMask_ST.xy + _ColorMask_ST.zw;
					    u_xlat3 = texture(_ColorMask, u_xlat3.xy);
					    u_xlat1.xyz = u_xlat3.xxx * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * _Color02.xyz + (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat3.yyy * u_xlat2.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Color03.xyz + (-u_xlat1.xyz);
					    u_xlat0.xyz = u_xlat3.zzz * u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat12 = unity_OneOverOutputBoost;
					    u_xlat12 = clamp(u_xlat12, 0.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat12);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(vec3(unity_MaxOutputValue, unity_MaxOutputValue, unity_MaxOutputValue)));
					    u_xlat0.w = 1.0;
					    u_xlat0 = (unity_MetaFragmentControl.x) ? u_xlat0 : vec4(0.0, 0.0, 0.0, 0.0);
					    SV_Target0 = (unity_MetaFragmentControl.y) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat0;
					    return;
					}"
				}
			}
		}
	}
	Fallback "Diffuse"
}